1.1 Base64 的定义
Base64 是一种基于 64 个可打印 ASCII 字符的二进制数据编码方案。它的核心作用是将任意二进制数据转换为文本格式,使得这些数据可以安全地在仅支持文本的协议中传输。
关键概念:
- 编码(Encoding):将二进制数据转换为 Base64 文本
- 解码(Decoding):将 Base64 文本还原为原始二进制数据
- 64 个字符:
A-Z(26),a-z(26),0-9(10),+,/(2)
1.2 为什么需要 Base64?
历史背景
互联网早期,电子邮件系统(SMTP)和许多网络协议只支持纯 ASCII 文本。当用户需要通过邮件发送图片、文件等二进制数据时,这些协议无法直接处理。Base64 应运而生,通过文本编码解决了这个问题。
现代应用中的持续需求
- JSON 的限制:JSON 是纯文本格式,无法直接存储二进制数据。API 返回图片、音频等资源时,常用 Base64 包裹数据。
- 跨平台兼容性:确保二进制数据在 Windows、Linux、macOS 等不同系统间传输的一致性。
- 认证机制:JWT (JSON Web Tokens)、HTTP 基本认证等都依赖 Base64 编码。
- 数据库存储:某些数据库或字段不支持二进制存储,需要先编码为 Base64 文本。
1.3 Base64 不是什么
❌ 误区
- 不是加密算法:任何人都可以轻松解码 Base64,无法保护敏感信息。
- 不提供安全保证:它仅用于格式转换,不涉及密钥或加密逻辑。
✅ 正解
Base64 是编码方案:它将数据从一种格式(二进制)翻译成另一种格式(文本),便于传输和处理。
如果需要保护数据隐私,请在 Base64 编码前使用 AES、RSA 等真正的加密算法。
1.4 Base64 的优缺点
| 优点 | 缺点 |
|---|---|
|
|