TontonTools
网页开发

Base64 解释:它是什么、何时使用、何时不使用

Enyong Carinton Tegum· May 17, 2026· 1 分钟阅读时间
Lines of encoded programming data on a dark monitor
Photo by Pixabay on Pexels

如果您使用网络超过一周,您就会遇到 Base64:由看似随机的字母、数字组成的长字符串,以及偶尔出现在数据 URI、JSON 负载和令牌中的“+”、“/”或“=”。它看起来很神秘,但概念很简单——理解它可以消除令人惊讶的混乱。

Base64 实际上做了什么

计算机将所有内容存储为二进制。问题在于,许多系统(电子邮件、URL、JSON、XML)都是为文本设计的,原始二进制数据可能包含这些系统解释为控制字符和损坏的字节。 Base64 通过仅使用 64 个安全、可打印的 ASCII 字符(A–Z、a–z、0–9,加上两个符号)重新表达二进制数据来解决这个问题。结果是文本在任何纯文本通道中都完好无损。

该格式在 RFC 4648 中正式定义。您可以使用我们的 Base64 编码器Base64 解码器立即对任何字符串或文件进行编码和解码。

错误:Base64 不是加密

这是整篇文章最重要的一点。 Base64 是编码,而不是加密。没有密钥,也没有秘密——任何看到 Base64 字符串的人都可以在几秒钟内将其解码回原始字符串。切勿使用它来“隐藏”密码、API 密钥或任何敏感数据。它的存在纯粹是为了兼容性和安全传输,而不是为了保密。如果您需要保密,则需要真正的加密(如 AES)或散列(如 bcrypt)。

编码的工作原理(简要)

Base64 接受三个字节的输入(24 位)并将它们分成四个 6 位组,将每个组映射到其 64 个字符之一。由于三个字节变成四个字符,因此输出比输入大大约 33%。当输入不是三个字节的干净倍数时,“=”填充字符会填充间隙。如果您想要了解位级详细信息,MDN Base64 术语表提供了清晰的视觉演练。

你会在哪里遇见它

  • 数据 URI:data:image/png;base64,... 形式直接嵌入 CSS 或 HTML 中的小图像,保存 HTTP 请求。
  • JWTJSON Web Token 的标头和负载是 Base64URL 编码的 — 解码后,您将立即看到显示的部分。
  • HTTP 基本身份验证:凭据采用 Base64 编码(这正是基本身份验证必须始终通过 HTTPS 运行的原因)。
  • 电子邮件附件:MIME 使用 Base64 通过基于文本的邮件协议发送二进制文件。

关于大小以及何时避免使用的注释

大约 33% 的大小增加意味着 Base64 非常适合小型资源,但对于大文件来说却是一个糟糕的选择,因为大文件的膨胀超过了内联的便利性。嵌入一​​个小图标作为数据 URI 很聪明;将 2 MB 英雄图像 Base64 编码到 HTML 中则不然 — 它会延迟渲染并且无法单独缓存。

底线

Base64 是一种传输格式:它使二进制数据可以安全地通过文本通道移动,仅此而已。使用它来嵌入小型资产、读取令牌并将二进制文件打包到 JSON 中 - 永远不要误以为它是安全的。当您需要在野外检查 Base64 字符串时,只需点击一下解码器即可。

Share X / Twitter Facebook LinkedIn WhatsApp

继续阅读

← 返回所有帖子

We use cookies for analytics and to keep the tools free via ads. See our Privacy Policy.