Skip to content
DocsAll
教程

Base64 编码解码完全指南:原理、用途与坑

Timi Tian · 发布于 2026年5月2日 · 更新于 2026年7月12日
Base64编码解码前端开发

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 编码解码工具

编码解码工具 一键操作:

  1. 打开 编码解码工具
  2. 选择 Base64 模式
  3. 粘贴文本 → 点"编码"得到 Base64;或粘贴 Base64 → 点"解码"还原
  4. 复制结果

工具同时支持 URL 编码、HTML 实体编码,覆盖常见需求。

编码示例

文本 Hello 编码后是 SGVsbG8=。注意结尾的等号,Base64 用等号补齐位数,不是错误。

常见坑

Base64 不是加密

任何人都能解码,千万别用它"加密"敏感数据。要加密请用 AES、RSA 等算法。

体积变大 33%

Base64 编码后每 3 字节变 4 字符,传输和存储成本增加。大文件谨慎使用。

字符集问题

标准 Base64 含 + 和 /,放进 URL 会出问题。URL 场景要用 URL 安全的 Base64(用 - 替换 +,用 _ 替换 /)。

换行符

部分 Base64 实现每 76 字符加换行,解码时一般要忽略换行。如果解码失败,先检查是否有多余换行或空格。

实用建议

  • 编码前确认数据是文本还是二进制,选对模式
  • 解码失败先检查字符是否完整、有无空格换行
  • 大文件别用 Base64 内联,体积膨胀太厉害

掌握 Base64,前后端调试、数据传输都顺手很多。

T
Timi Tian 创始人 / 全栈工程师

DocsAll 创始人,10 年全栈开发经验,专注浏览器端文档处理技术与隐私保护架构。前新加坡科技公司技术负责人。