Base64 是什么:编码原理、常见用途与注意事项

作者:SnapshotLab基于本站工具实测复核发布:2026-07-08更新:2026-07-11

写代码或配置系统时,你大概率见过一长串看起来像乱码、以字母数字为主、偶尔带 + / = 的字符串——这多半就是 Base64。它无处不在,却常被误解。这篇文章用大白话讲清 Base64 是什么、怎么工作、什么时候用,以及一个很重要的误区:它不是加密。

Base64 到底是什么

Base64 是一种编码方式:把任意二进制数据(图片、文件、含中文的文本等)转换成只由 64 个“安全字符”组成的文本。这 64 个字符是 A–Z、a–z、0–9 再加上 +/,末尾可能有 = 用于补齐。它的目的不是保密,而是让二进制数据能安全地穿过那些“只认文本”的通道。

它是怎么工作的

原理其实很简单:把数据按每 3 个字节(24 位)一组,重新切成 4 段、每段 6 位,每段 6 位正好能表示 0–63 的一个数字,再映射到那 64 个字符里的一个。于是每 3 字节原始数据变成 4 个字符。如果最后不够 3 字节,就用 = 补位——这就是为什么 Base64 字符串结尾常见一两个等号。

因为“3 字节变 4 字符”,编码后体积会比原始数据大约增加三分之一(约 33%)。这是使用 Base64 时要心里有数的代价。

常见用途

  • Data URL:把小图标直接以 data:image/png;base64,... 嵌进 HTML/CSS,省一次请求。
  • 电子邮件附件:邮件协议历史上只可靠传输文本,附件用 Base64(MIME)编码后传输。
  • 在 JSON / 配置里放二进制:JSON 是纯文本,想塞入图片或证书就先转成 Base64 字符串。
  • API 传参:把二进制或含特殊字符的数据编码后,安全地放进 URL 或请求体。

重要:Base64 不是加密

这是最常见的误区。Base64 是可逆的公开变换,任何人都能一键解码还原,它不提供任何保密性。千万不要用 Base64 来“藏”密码、令牌或敏感信息——那和明文没有区别。需要保密请用真正的加密算法(如 AES),需要校验完整性请用哈希(如 SHA-256)。Base64 只解决“怎么安全地搬运”,不解决“怎么保密”。

中文和 emoji 怎么办

直接对含中文或 emoji 的文本做 Base64 可能出乱码,关键在于要先用UTF-8 把文本转成字节,再做 Base64。规范的工具会自动处理这一步,所以你输入中文、日文、emoji 都能正确编码和还原。

在线编解码(本地、不上传)

Base64 编解码工具 可以在文本与 Base64 之间双向转换,完整支持中文和 emoji,全程在浏览器本地完成,输入内容不会上传服务器。处理 API 返回的数据时,常常还要顺手格式化 JSON,可以搭配 JSON 格式化工具 一起用。