UnitConv
Base64

Base64 编码 / 解码

在完整支持 UTF-8 的情况下编码与解码 Base64

关于此工具

此 Base64 工具将文本编码为 Base64,并将 Base64 解码回文本,全部在浏览器中完成。Base64 仅用 64 个可打印的 ASCII 字符表示任意二进制数据,因此能安全地穿过面向文本的系统,如电子邮件、JSON 和 URL。开发者将其用于 data URI、嵌入图像、Basic 认证头和 JWT 令牌。编码器支持 UTF-8,因此带重音的字母、表情符号和非拉丁文字都能正确往返。

使用方法

  1. 1 选择“编码”将文本转换为 Base64,或选择“解码”将其读回。
  2. 2 在输入框中键入或粘贴您的文本。
  3. 3 转换结果会立即显示在输入框下方。
  4. 4 按复制按钮复制结果,或按“互换”反转方向。

工作原理

Base64 将输入字节按 6 位一组拆分。由于 6 位可编码 64 个值,每组映射到字母表 A-Z、a-z、0-9 以及 + 和 / 中的一个字符(共 64 个字符)。三个字节(24 位)变成四个 Base64 字符,因此输出比输入大约三分之一。当字节数不是三的倍数时,会添加一两个 = 号作为填充。解码则反向进行。文本会先转为 UTF-8 字节,因此“Hello”变为 SGVsbG8=,多字节字符也被精确保留。

常见问题

Base64 是加密吗?

不是。Base64 是可逆的编码,而非加密。任何人都能解码,因此切勿用它保护机密;保护机密请使用真正的密码学。

为什么“Hello”会变成 SGVsbG8=?

“Hello”的五个字节被重新分组为 6 位的块,映射到 Base64 字符,并填充一个 =,因为五个字节不是三的倍数。

为什么输出比输入长?

Base64 将每 3 个字节转换为 4 个字符,使大小增加约 33%。这一开销是让二进制数据可作为文本安全传输的代价。

它能处理表情符号和非英文文本吗?

可以。输入会先编码为 UTF-8,因此表情符号、重音以及日文或阿拉伯文等文字都能无损地编码与解码。

相关工具与用途

若要转义网址中的文本,请使用 URL 编码器。若要查看字符的码位,请使用 ASCII / Unicode 转换器;若要查看比特与十六进制值,请参阅进制转换器。