Base64 编码详解:它是什么、如何工作及何时使用

📅 2026-05-07 · 📂 编码原理 · ⏱ 10 分钟阅读

Base64 是互联网上最常用的二进制到文本编码方案之一。你可能每天都在使用它——从电子邮件附件到网页图片,从 JWT Token 到 API 认证——但你真的了解它是如何工作的吗?

本文将深入浅出地解释 Base64 编码的原理、应用场景和技术细节。同时你也可以使用我们的 在线 Base64 编解码工具 进行实操练习。

什么是 Base64?

Base64 是一种用 64 个可打印字符来表示任意二进制数据的编码方式。这 64 个字符包括 A-Z、a-z、0-9、以及 + 和 /,再加上作为填充的 = 号。

之所以需要 Base64 编码,是因为很多传输协议只支持文本数据(ASCII 字符),不支持直接传输二进制数据。Base64 解决了这个问题,让二进制数据可以安全地通过文本协议传输。

Base64 的工作原理

Base64 的编码过程可以分为三个步骤:

步骤 1:将二进制数据分组

Base64 将每 3 个字节(24 位)的二进制数据分成一组。如果数据长度不是 3 的倍数,会用填充字节补足。

步骤 2:将 24 位分成 4 个 6 位块

每个 3 字节的组被分成 4 个 6 位的块。6 位可以表示 0-63 之间的数值,正好对应 Base64 字符集中的 64 个字符。

步骤 3:映射到 Base64 字符集

每个 6 位的数值根据 Base64 索引表映射到对应的字符:

数值范围对应字符
0-25A-Z
26-51a-z
52-610-9
62+
63/
填充=

示例:编码 "Man"

让我们看看 "Man" 这个字符串是如何被编码的:

原始数据:    M         a         n
ASCII:       77        97        110
二进制:      01001101  01100001  01101110

重新分组:  010011  010110  000101  101110
十进制:    19      22      5       46
Base64:    T       W       F       u

结果: "TWFu"

常见的 Base64 变体

Base64 的常见应用场景

1. 电子邮件附件(MIME)

SMTP 协议最初只支持 7 位 ASCII 文本。为了让图片、文档等二进制附件也能通过邮件传输,MIME 标准使用 Base64 对附件进行编码。

2. Data URI

在 Web 开发中,Data URI 允许将图片、字体等资源直接嵌入 HTML 或 CSS 中,减少 HTTP 请求数:

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

3. JWT(JSON Web Token)

JWT 的三个部分(Header、Payload、Signature)都使用 URL-safe Base64 编码。这也是为什么 JWT Token 看起来是一串由点和字母数字组成的字符串。

4. HTTP Basic 认证

HTTP Basic Auth 将用户名和密码拼接后使用 Base64 编码放在 Authorization 头中。

Base64 的优缺点

优点

缺点

重要提示:Base64 不是加密!如果数据需要保密,请在使用 Base64 之前先用 AES 等加密算法加密数据。

使用在线工具箱的 Base64 工具

我们的 在线 Base64 编解码工具 支持:

此外,还有 URL 编解码哈希生成 等工具可供使用。