返回学习中心

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变体
上一课下一课:对比分析