Base64 在线编码/解码

输入
结果

什么是 Base64?

01 基本定义

Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。它不是加密算法,而是一种编码方式。 它的核心作用是将二进制数据(如图片、音频、文件)转换为仅包含 ASCII 字符的文本格式,以便在只支持文本的系统(如某些古老的电子邮件网关)中安全传输。

包含字符表 (Index Table)
A-Z (26), a-z (26), 0-9 (10), +, / (共64个字符)
注:等号 (=) 仅作为末尾填充字符,不属于索引表。

02 编码原理 (How it Works)

Base64 的核心原理是将每 3 个字节 (3 × 8 = 24 bits) 的数据,重新划分为 4 个组 (4 × 6 = 24 bits)。 然后将这 6 bits 的值(范围 0-63)对应到 Base64 索引表中的字符。

原始字符 M a n
ASCII值 77 97 110
二进制 01001101 01100001 01101110
6位分组 010011 010110 000101 101110
Base64 T W F u

这就是为什么 Base64 编码后的体积通常比原数据大 1/3 (约33%) 的原因。

03 常见应用场景

  • Data URI Scheme 在 HTML/CSS 中直接嵌入小图片 (如 data:image/png;base64,...),减少 HTTP 请求数,优化网页加载速度。
  • 电子邮件附件 (MIME) 电子邮件协议(SMTP)最初只支持 7 位 ASCII 字符。Base64 使得发送图片、PDF 等二进制附件成为可能。
  • API 数据传输 在 JSON 或 XML 等纯文本格式中传输二进制文件(如上传头像),而无需使用 multipart/form-data。
  • 简单数据混淆 虽然不是加密,但可以防止文本被一眼看穿。例如某些网站的源码中隐藏配置信息。

常见问题

Base64 是加密算法吗?
绝对不是。 Base64 是一种编码方式,不是加密。任何人都可以在不需要密钥的情况下轻松解码 Base64 数据。不要用它来保护敏感信息(如密码)。
为什么编码后体积变大了?
Base64 将每 3 个字节的二进制数据编码为 4 个字符。因此,编码后的数据体积通常会比原始数据大约增加 33%
为什么结果末尾有等号 "="?
等号是填充字符(Padding)。当原始数据的字节数不是 3 的倍数时,Base64 会使用 1 个或 2 个等号来补齐,以便解码器正确还原数据。
支持中文字符吗?
是的。本工具使用 UTF-8 编码处理中文字符,确保编码和解码过程不会出现乱码。
什么是 "URL Safe" Base64?
标准的 Base64 包含 `+` 和 `/` 两个字符,在 URL 中可能会引起歧义(如 `+` 变成空格)。URL Safe 的变种通常将 `+` 替换为 `-`,将 `/` 替换为 `_`,并去掉末尾的 `=`。
本地处理是否安全?
非常安全。本工具的所有计算逻辑均在您的浏览器中(客户端)执行,任何数据都不会发送到我们的服务器。
如何将图片转为 Base64?
通常使用 JavaScript 的 FileReader.readAsDataURL() 方法。这对于在网页中嵌入小图标(Data URI Scheme)非常有用。
Base64 历史有多久了?
Base64 最早在 1987 年被定义(RFC 989),用于 Privacy-Enhanced Mail (PEM) 协议,后来在 MIME (RFC 2045) 中标准化,成为互联网传输二进制数据的基石。

更多免费实用工具