Base64 编解码完整教程:原理、场景与常见问题

最后更新:2026年5月 · 阅读时间:10分钟

在线 Base64 编解码工具

直接使用我们的免费工具,一键编码解码 Base64

打开工具

什么是 Base64?

Base64 是一种基于 64 个可打印字符来表示二进制数据的编码方式。它将任意二进制数据转换为由 A-Za-z0-9+/ 共 64 个字符组成的 ASCII 字符串。

简单来说,Base64 的作用就是把"不可见"的二进制数据变成"可见"的文本字符,方便在文本环境中传输。

Base64 字符表

字符字符字符字符
0-25A-Z26-51a-z52-610-962+
63/= 用于末尾填充

为什么需要 Base64?

很多场景只支持文本传输,不支持原始二进制数据:

Base64 将二进制数据编码为纯文本,解决了这些兼容性问题。

Base64 编码原理

编码步骤

  1. 将原始数据按 3 字节(24 位)一组分割
  2. 将每组 24 位分成 4 个 6 位
  3. 每个 6 位值(0-63)查表对应一个 Base64 字符
  4. 如果原始数据不是 3 的倍数,用 = 填充

编码示例

以字符串 "Man" 为例:

原始数据:   M        a        n
ASCII:      77       97       110
二进制:     01001101 01100001 01101110
6位分组:    010011  010110  000101  101110
查表:       T      W      F      u
Base64:     TWFu

注意:Base64 编码后的数据比原始数据大约大 33%(每 3 字节变成 4 字节),所以它不适合用于压缩数据。

变体

常见使用场景

1. Data URL(内嵌图片)

<img src="data:image/png;base64,iVBORw0KGgo..." alt="内嵌图片">

小图标可以直接内嵌在 HTML/CSS 中,减少 HTTP 请求数。

2. JWT Token

JWT 的 Header 和 Payload 都使用 Base64URL 编码:

Header:    eyJhbGciOiJIUzI1NiJ9
Payload:   eyJzdWIiOiIxMjM0NTY3ODkwIn0
Signature: SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

3. 邮件附件(MIME)

电子邮件中的图片、PDF 等附件使用 Base64 编码传输。

4. API 认证

// HTTP Basic Auth
Authorization: Basic base64(username:password)

常见问题

Base64 是加密吗?

不是。Base64 是编码,不是加密。任何人都可以解码 Base64 数据。请勿将 Base64 用于保护敏感数据,应使用 AES、RSA 等真正的加密算法。

Base64 编码会增大多少体积?

编码后数据约为原始数据的 133%。具体来说,每 3 字节变成 4 字节,加上可能的 1-2 个 = 填充符。

为什么我的 Base64 解码失败?

提示:使用我们的在线 Base64 编解码工具可以快速验证和调试编码问题。

Base64 和 Hex 编码的区别?

特性Base64Hex
编码效率~133%~200%
字符集64 个16 个
可读性较低较高
适用场景邮件、JWT、Data URL哈希值、调试、颜色值

试试我们的 Base64 工具

支持文本和文件编解码,即开即用

打开 Base64 编解码工具