0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
配置
使用多种字符编码支持对 Base64 文本进行编码和解码。URL-safe 变体将 + 替换为 -,/ 替换为 _,并删除填充 = (RFC 4648 §5)。
操作
变体
编码
换线
0

工作原理

Base64 使用 64 个可打印的 ASCII 字符表示数据。每 3 个输入字节变成 4 个字符,因此结果比原始大约多占 33%。

它既不是加密也不是压缩:它是一种任何人都能解码的可逆编码。它用于在仅供文本使用的通道上传输二进制数据。

URL 安全变体(RFC 4648 §5)使用 - 和 _ 代替 + 和 /,并省略 = 填充,因此可以将结果放入 URL 和文件名中而无需转义。

示例

Hello WorldSGVsbG8gV29ybGQ=
CaféQ2Fmw6k=在 UTF-8 中,非 ASCII 字符占用超过一个字节,因此“é”会增加两个字节。
>>>?estándar: Pj4+Pw== · URL-safe: Pj4-PwURL 安全变体将 + 和 / 替换为 - 和 _,并移除 = 填充。

使用场景

  • 通过 data URI 将图片、字体或图标直接嵌入 HTML/CSS。
  • 发送电子邮件附件(MIME)或 JSON 内的二进制数据。
  • 将密钥、证书或令牌存储在环境变量和配置文件中。
  • 为 HTTP 的 Authorization: Basic 头对凭据进行编码。

常见问题

Base64 是一种加密方法吗?

不是。它是无密钥的可逆编码:任何人都能解码。它不提供任何安全性;要保护数据必须加密。

为什么结果以“=”结尾?

“=”是填充(padding),当输入不是 3 字节的倍数时用来补足 4 个字符的块。URL 安全变体会省略它。

什么时候更适合使用 URL 安全变体?

当值要放入 URL、文件名或标识符时,因为 + 和 / 字符在这些上下文中具有特殊含义。

为什么编码后的文本比原始的更长?

因为它每 3 个输入字节使用 4 个字符,所以体积增大约 33%。

我的文本会上传到服务器吗?

不会。编码和解码完全在你的浏览器中进行。