Base64 是什么
Base64 是一种仅使用 64 个安全字符、字母、数字和几个符号来表示二进制或文本数据的方法。它不是加密,也不提供安全性;它是一种编码,可让数据安全地通过仅处理文本的系统,例如电子邮件、JSON 负载、数据 URL 和 HTTP 标头。该工具将文本转换为 Base64 并将 Base64 解码回可读文本。
当你需要 Base64 时
开发人员不断遇到 Base64。电子邮件附件采用 Base64 编码,因此二进制文件可以在纯文本邮件传输中保存。小图像作为 Base64 数据 URL 直接嵌入 CSS 或 HTML 中以保存请求。基本身份验证标头携带 Base64 编码的凭据。 JSON Web 令牌使用 Base64 作为其段。当您需要检查或创建其中任何一个时,手动编码和解码是不切实际的,这个工具可以立即完成。
Unicode 处理正确
Base64 工具的一个常见错误是损坏重音字符或非拉丁字符,因为朴素编码假定纯 ASCII。该工具首先通过 UTF-8 进行编码,因此来自任何语言的重音字母、表情符号和字符在往返过程中都完好无损。您可以在任何脚本中对“café”或文本进行编码,然后将其完全按原样解码回来。
Base64不是加密
值得强调的是:Base64 是可逆的,并且不提供任何保护。任何人都可以在一秒钟内对其进行解码,包括使用此工具。切勿使用 Base64 来隐藏密码或敏感数据,认为它是安全的。它纯粹是一种传输编码,可用于使数据文本安全,而不是保密。为了真正的安全,你需要真正的加密,这是完全不同的事情。
Base64 编码的工作原理
Base64 采用二进制数据并使用 64 个可打印字符(A 到 Z、a 到 z、0 到 9、加号和斜杠)表示它,并使用等号作为填充。输入的每三个字节变成四个 Base64 字符,这就是编码数据比原始数据大大约三分之一的原因。这种扩展是为了使任何数据能够安全地嵌入纯文本上下文中而做出的权衡。解码正好反转该过程,恢复原始字节。
数据 URL 和嵌入图像
Base64 的一种日常用途是数据 URL,它将一个小文件直接嵌入 HTML 或 CSS,而不是链接到它。编码为 Base64 数据 URL 的小图标随页面一起加载,而不需要单独的请求,这可以加快小型资源的渲染速度。开发人员粘贴图像数据,对其进行编码,然后将结果放入 src 属性中。对于较大的文件,尺寸损失大于好处,但对于小图标和内联 SVG,这是一种常见的技术。
令牌、电子邮件和 API 中的 Base64
Base64 出现在整个 Web 开发过程中。 JSON Web 令牌以 Base64 对其标头和有效负载段进行编码,以便它们在标头和 URL 中安全传输。电子邮件附件采用 Base64 编码,因此二进制文件可以在基于文本的邮件传输中保存下来。 HTTP 基本身份验证以 Base64 格式对凭据进行编码。 API 有时接受或返回 JSON 内的 Base64 编码的二进制数据。当您需要检查或构建其中任何一个时,该工具会立即编码和解码,正确处理 Unicode,因此不会损坏任何内容。