← 首页

🔐 Base64 编码 / 解码器

将文字转换为 Base64 编码,或将 Base64 字符串解码回可读文字。

这是什么工具?

Base64 编码器和解码器是一种在纯文字和 Base64 表示之间转换数据的工具。Base64 是一种二进制到文字的编码方案,使用 64 个可打印 ASCII 字符来表示二进制数据:大写和小写字母、数字、加号和斜杠,并使用等号作为填充。这种编码广泛用于 Web 开发、电子邮件系统和数据交换,因为它允许二进制数据通过 JSON、XML、HTML 和电子邮件等纯文字通道安全传输而不会损坏。常见使用场景包括将图片直接以数据 URL 嵌入 HTML 或 CSS、在 HTTP 标头中编码认证凭据、将二进制数据储存在 JSON 负载中、在电子邮件中传输文件附件以及编码 API 权杖。Base64 编码会使数据大小增加约 33%,因为原始数据的每 3 个字节会变成 4 个 Base64 字符。此工具能即时处理编码和解码,通过正确的 UTF-8 转换支持 Unicode 文字。它还能妥善处理填充和格式错误输入等边缘情况,提供清晰的错误消息。

运作原理

Base64 编码器和解码器使用内置的 JavaScript 函数来执行转换。对于编码,它首先使用 TextEncoder API 将输入文字字符串转换为 UTF-8 字节序列,然后套用 btoa 函数产生 Base64 字符串。这个两步过程确保了 Unicode 字符的正确处理,因为 btoa 单独使用时仅能正确处理 Latin-1 字符。对于解码,它套用 atob 函数将 Base64 字符串解码为二进制字符串,然后将字节序列转换回 UTF-8 文字字符串。工具会验证解码输入是否为格式正确的 Base64,检查有效字符、正确填充和适当长度。如果输入不是有效的 Base64,它会显示清晰的错误消息。对于编码,它会自动在输出末尾添加正确的填充等号。所有处理都在您的浏览器本地进行。
Ad

使用方法

  1. 在输入文字区输入您要转换的文字。
  2. 要将文字转换为 Base64,请按下编码按钮。文字将被表示为 Base64 字符串。
  3. 要将 Base64 字符串转换回可读文字,请粘贴它并按下解码按钮。
  4. 如果解码失败,请检查您的输入是否为有效的 Base64 字符串,仅包含有效字符和正确的填充。
  5. 使用复制按钮从输出区复制结果。

常见问题

常见问题

为什么 Base64 会让我的文字变长?
Base64 编码将原始数据的每 3 个字节表示为 4 个 Base64 字符,因此输出比输入大约 33%。这种额外负担是编码方案固有的,是能够仅使用可打印 ASCII 字符表示二进制数据的代价。

它能编码图片等二进制文件吗?
不能,此工具仅为文字输入而设计。要编码图片或 PDF 等二进制文件,您需要一个先将文件读取为字节数组的工具。不过,一旦您有了文件的 Base64 字符串,就可以在此处解码。要在 HTML 或 CSS 中嵌入图片,请使用专门的图片转 Base64 转换器。

它能正确处理 Unicode 字符吗?
可以。此工具使用 TextEncoder API 在编码前将 Unicode 文字正确转换为 UTF-8 字节。这意味着中文、日文、韩文、表情符号和其他多字节字符都能被正确编码。如果没有这个步骤,单独使用 btoa 对非 ASCII 字符会失败或产生不正确的结果。

Base64 是加密吗?
不是。Base64 是一种编码方案,不是加密。任何人都可以在没有任何密钥或密码的情况下即时解码 Base64。切勿使用 Base64 来保护敏感信息。如需安全性,请使用适当的加密算法。Base64 是用于数据传输和表示,而非保密。

技巧与建议

Base64 不是加密,不应用于保护敏感数据。任何拥有编码字符串的人都可以即时解码。常见的合法用途包括在 CSS 或 HTML 中嵌入小图片、编码 HTTP Basic Authentication 标头、将二进制数据储存在 JSON 中以及通过纯文字通道传输数据。解码 Base64 时,请务必验证输出是否符合预期,因为格式错误的 Base64 可能产生垃圾输出。对于大型数据,请记住规划存储或带宽时的 33% 大小额外负担。如果您需要编码二进制文件,请使用专门的文件转 Base64 工具。所有处理都在您的浏览器本地进行,以确保最大隐私。

相关文字工具

Ad