Base64 的优势:为什么二进制要"文本化"

让二进制安全通过"文本通道"

很多系统只认文本:JSON、XML、API 参数、电子邮件、URL 查询串……二进制数据直接放进去会产生乱码、截断甚至损坏。Base64 把二进制重编码为纯 ASCII 字符,让它可以无损地塞进任何文本通道——这是它最核心的价值。

内联嵌入,减少网络请求

网页里的小图标、小图片可以用 data URI 内联:

<img src="data:image/png;base64,iVBORw0KGgo...">
  • 图片随 HTML/CSS 一起加载,减少一次 HTTP 请求
  • 适合体积小、复用少的小图标(小于几 KB 时收益明显)。

URL 安全的变体

JWT、OAuth、文件下载链接等场景需要把编码结果放进 URL。Base64URL 变体把 +/ 换成 -_ 并去掉 =,避免 URL 转义问题:

  • JWT 的 Header 与 Payload;
  • 带参数的文件下载、分享链接;
  • Web Storage 与 Cookie 中的紧凑存储。

与文本格式无缝配合

  • 把图片/文件转 Base64 后可直接放入 JSON 或数据库字段,无需文件系统;
  • 二维码可以承载 Base64 编码的短文本数据;
  • 跨语言、跨平台解析一致——标准表只有 64 个字符,任何语言都自带实现。

什么时候用,什么时候不该用?

适合:小图内联、令牌编码、API 传输小段二进制、把文件"打包"进文本字段。

不适合:体积会增大约 33%,大文件转 Base64 得不偿失;需要安全时必须叠加真正的加密(Base64 不是加密)。

小结

Base64 的价值一句话概括:让二进制学会"说人话"。在小图内联、令牌编码、文本载体传输这些场景里,它依然是最简单可靠的选择。