什么是 Base64?
01 基本定义
Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。它不是加密算法,而是一种编码方式。 它的核心作用是将二进制数据(如图片、音频、文件)转换为仅包含 ASCII 字符的文本格式,以便在只支持文本的系统(如某些古老的电子邮件网关)中安全传输。
注:等号 (=) 仅作为末尾填充字符,不属于索引表。
02 编码原理 (How it Works)
Base64 的核心原理是将每 3 个字节 (3 × 8 = 24 bits) 的数据,重新划分为 4 个组 (4 × 6 = 24 bits)。 然后将这 6 bits 的值(范围 0-63)对应到 Base64 索引表中的字符。
这就是为什么 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 是加密算法吗?
为什么编码后体积变大了?
为什么结果末尾有等号 "="?
支持中文字符吗?
什么是 "URL Safe" Base64?
本地处理是否安全?
如何将图片转为 Base64?
FileReader.readAsDataURL() 方法。这对于在网页中嵌入小图标(Data URI Scheme)非常有用。
Base64 历史有多久了?
更多免费实用工具
URL 编码/解码
在线 URL 编码和解码工具,解决网址参数乱码问题,支持 UTF-8。
JWT 解码器
免费在线 JWT 解码工具。一键解析 JSON Web Token (JWT) 的 Header 和 Payload 信息。
JSON 格式化
在线美化、压缩、修复 JSON 数据,支持语法高亮与错误定位。
Unix 时间戳
在线时间戳与日期互转工具,支持秒、毫秒格式,开发者调试必备。
UUID 生成器
一键生成批量 Version 4 (随机) UUID/GUID,支持大小写转换与格式定制。
在线大小写转换器
免费在线文本大小写转换工具。支持大写、小写、标题首字母大写、驼峰命名等多种格式互相转换。