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