返回学习中心
Base64常见场景
1. 图片嵌入HTML/CSS (Data URI)
将小图片转换为Base64直接嵌入HTML或CSS,减少HTTP请求:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==">
适用场景: 小图标(小于4KB)、减少请求次数、离线HTML文档
2. JWT Token
JSON Web Token (JWT) 的Payload部分通常使用Base64编码:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 ← Header
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4ifQ ← Payload
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c ← Signature
解码结果:
{"sub":"1234567890","name":"John"}
3. 邮件附件编码 (MIME)
电子邮件的SMTP协议早期只能传输7位ASCII字符,Base64用于编码二进制附件(如图片、文档)。 这也是Base64最初被设计的主要原因之一。
4. API数据传输
某些API需要传输二进制数据或特殊字符:
// 请求示例
POST /api/upload
Content-Type: application/json
{"file_data": "base64编码的文件内容..."}
5. URL Base64变体
标准Base64中的 + 和 / 在URL中需要转义,因此产生了URL-safe Base64:
标准Base64:
+ 和 /URL-safe:
- (减号) 和 _ (下划线)使用注意事项
- Base64编码后体积增加约33%
- 不适合用于大文件(建议用二进制协议)
- 不是加密方式,仅是编码
- URL中使用时需使用URL-safe变体