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)。工作原理
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%。
我的文本会上传到服务器吗?
不会。编码和解码完全在你的浏览器中进行。