Base64 是什么
Base64 是一种把二进制数据编码成 64 个可打印字符(A-Z、a-z、0-9、+、/)的编码方式。它不是加密,只是"换一种写法",让二进制数据能通过文本通道传输。编码后数据体积约增大 33%。
为什么要用 Base64
很多系统只支持文本传输,比如邮件、JSON、URL、XML。如果要通过这些通道传图片、音频、二进制文件,就需要先编码成文本。Base64 就是最通用的方案。
常见用途
1. 邮件附件
邮件协议最初只支持 ASCII 文本,附件(图片、文档)必须 Base64 编码后才能传输。
2. 数据 URI / 内联图片
图片转 Base64 后直接嵌在 HTML/CSS 里,减少 HTTP 请求。详见 Base64 图片使用指南。
3. API 数据传输
JSON 不支持二进制,传图片、文件时先 Base64 编码成字符串放进 JSON。
4. 环境变量存储
证书、密钥等二进制配置,Base64 编码后存进环境变量。
DocsAll Base64 编码解码工具
用 编码解码工具 一键操作:
- 打开 编码解码工具
- 选择 Base64 模式
- 粘贴文本 → 点"编码"得到 Base64;或粘贴 Base64 → 点"解码"还原
- 复制结果
工具同时支持 URL 编码、HTML 实体编码,覆盖常见需求。
编码示例
文本 Hello 编码后是 SGVsbG8=。注意结尾的等号,Base64 用等号补齐位数,不是错误。
常见坑
Base64 不是加密
任何人都能解码,千万别用它"加密"敏感数据。要加密请用 AES、RSA 等算法。
体积变大 33%
Base64 编码后每 3 字节变 4 字符,传输和存储成本增加。大文件谨慎使用。
字符集问题
标准 Base64 含 + 和 /,放进 URL 会出问题。URL 场景要用 URL 安全的 Base64(用 - 替换 +,用 _ 替换 /)。
换行符
部分 Base64 实现每 76 字符加换行,解码时一般要忽略换行。如果解码失败,先检查是否有多余换行或空格。
实用建议
- 编码前确认数据是文本还是二进制,选对模式
- 解码失败先检查字符是否完整、有无空格换行
- 大文件别用 Base64 内联,体积膨胀太厉害
掌握 Base64,前后端调试、数据传输都顺手很多。