Base64
Base64 是一种将任意二进制数据映射到 64 个可打印 ASCII 字符(A-Z、a-z、0-9、+、/)的编码方案,使二进制数据能在仅支持文本的通道中传输。
用途
解决早期邮件系统只能传输 7 位 ASCII 文本、无法直接携带二进制附件的问题,同时避免控制字符被网关篡改。
机制
将输入字节流按每 3 字节(24 位)一组划分为 4 个 6 位单元,每个 6 位值映射到 Base64 字母表的一个字符。若最后一组不足 3 字节,用 = 填充至 4 字符。编码后长度约为原数据的 4/3,且输出始终是 4 的倍数。
用例
- 在 JSON、XML、URL 中嵌入二进制数据(如 Data URL 中的小图片)
- 电子邮件 MIME 附件传输
- HTTP Basic 认证中编码用户名:密码
- JWT 的 Header 与 Payload 段编码
示例
- 输入
Hello输出SGVsbG8=5 bytes to 8 characters with one trailing = pad
常见错误
- Using standard Base64 directly in URLs, where + and / get percent-encoded and decoding fails
- Use Base64URL instead (- and _ replace + and /, and = padding is dropped)
相关词条
Base32
Base32 将二进制数据映射到 32 个字符的字母表(A-Z 与 2-7),输出全部为大写字母与数字,便于人工朗读与离线输入。 词汇表
Base16
Base16 即十六进制编码,将每 4 位映射为一个十六进制字符(0-9、A-F),是 RFC 4648 定义的 Base 系列中最简单的成员。 词汇表
Hexadecimal
十六进制(hex)是以 16 为基数的数制,使用 0-9 与 A-F 表示 0-15,是计算机领域最常用的底数表示法之一。 词汇表
MIME Encoding
MIME(多用途互联网邮件扩展)编码定义了在电子邮件中传输非 ASCII 文本与二进制附件的机制,包括 Base64 与 Quoted-Printable 两种内容传输编码。 词汇表
相关工具
Base64 编码器
将文本或二进制数据编码为 Base64。免费、隐私优先、100% 纯客户端运行。支持 UTF-8、ASCII、Latin1、UTF-16LE 字符集,可处理多语言文本与二进制内容,结果可直接用于 Data URI、邮件附件、JWT 等场景。 工具
Base64 解码器
将 Base64 数据解码为可读文本。免费、隐私优先、100% 纯客户端运行。支持 UTF-8、ASCII、Latin1、UTF-16LE 字符集,可处理 Data URI、JWT 载荷、邮件附件等场景,遇到非法输入会明确报错而非静默产生乱码。 工具
Base64 转文件
将 Base64 数据 URL 解码为可下载文件。免费、隐私、100% 客户端运行。 工具
Base64 图片预览器
预览 Base64 编码的图片并显示元数据。免费、隐私本地化、100% 客户端运行。 工具