什么是 Base64 编码,何时使用它

· 4 分钟阅读

如果您使用 API、邮件系统或网页开发,您一定遇到过 Base64 · 即使您没认出来。那些看起来像乱码的长串字母和数字?很可能就是 Base64。

Base64 做什么

Base64 将二进制数据(任意字节序列)转换为仅使用 64 个「安全」字符的文本字符串:A-Z、a-z、0-9、+ 和 /。如果需要,结果会以 = 填充结尾。

示例:

这种编码存在是因为许多系统(邮件、JSON、URL、XML)只能处理文本。二进制数据 · 图片、压缩文件、原始字节 · 可能包含会破坏这些系统的字符。Base64 将二进制转换为文本,可通过任何文本通道传输而不被损坏。

常见用途

在 HTML/CSS 中嵌入图片:

<img src="data:image/png;base64,iVBORw0KGgoAAAA..." />

小图标和 logo 可以直接嵌入 HTML,省去一次额外的 HTTP 请求。

API 载荷:当 API 期望 JSON 但您需要包含二进制数据(文件上传、签名图像)时,将其编码为 Base64 可将其作为普通文本字段包含。

邮件附件:邮件协议(SMTP)基于文本。每个附件在幕后被编码为 Base64 以作为文本传输。

身份验证头:HTTP Basic 认证在 Authorization 头中将 用户名:密码 编码为 Base64。(这是编码,不是加密 · 本身不提供安全性。)

如何编码和解码

  1. 选择编码或解码· 选择转换方向。
  2. 粘贴文本或上传文件· 直接输入文本或拖放文件(最大 5 MB)。
  3. 复制结果· 输出即时更新。复制到剪贴板。

何时使用 Base64

使用它当:

不要使用它当:

小贴士

常见问题

Base64 会加密我的数据吗?

不会。Base64 是编码,而不是加密。任何人都能解码 Base64 字符串 · 它不提供安全性。如果您想保护数据,请使用真正的加密(AES、RSA 等)。

为什么 Base64 让文件变大?

Base64 编码将数据大小增加约 33%。三个二进制字节变为四个 Base64 字符。这是让二进制能作为文本安全传输的代价。

可以编码文件,不仅是文本吗?

可以。任何文件(图像、PDF、音频)都可编码为 Base64。这常用于将小图像作为 data URL 直接嵌入 HTML 或 CSS 中。

什么时候不要使用 Base64?

不要用于大文件。1 MB 的图像作为 Base64 文本会变成 1.33 MB,而且浏览器不能单独缓存它。对于超过几 KB 的任何内容,正常提供文件更高效。