汉语宝典

Base64编码解码

Base64 编码 / 解码

🔤 Base64 Encode / Decode

Encode and decode Base64 online

📐 工作原理与说明
Base64 把每 3 字节(24 位)重分为 4 个 6 位组,每组映射到 64 字符表(A 至 Z、a 至 z、0 至 9、加号、斜杠);不足 3 字节时补零并以等号填充(缺 1 字节补 2 个等号、缺 2 字节补 1 个等号);编码后长度 = 原长度 ÷ 3 向上取整 × 4;Base64Url 以短横代替加号、下划线代替斜杠并省略填充,Unicode 文本须先按 UTF-8 转字节再编码。
📌 说明
  • 编码:将任意文本转换为 Base64 字符串。
  • 解码:将 Base64 字符串还原为原始文本,失败会提示错误。
  • Base64Url 将 + 替换为 -,/ 替换为 _,并去除末尾 =。

📚 深度解析:Base64 编码 / 解码

💡 常见使用场景

  • 前后端数据交换:把二进制/Unicode 安全地放进 JSON 文本字段。
  • 令牌/签名传输:JWT、签名等 Base64Url 片段的编解码。
  • 调试核对:对抓取到的 Base64 串解码查看原文。
示例:编码 "ToolBox"
ToolBox → VG9vbEJveA==;解码回推即得原文本,注意 padding =。

❓ 常见问题(FAQ)

Base64 与 Base64Url 区别?
后者把 +/ 换成 -_ 并去掉填充,适合放在 URL/文件名中不被转义。
中文为何要特殊处理?
需先按 UTF-8 编码为字节再 Base64,否则会按平台默认编码出错。
解码失败常见原因?
长度非 4 倍数、填充缺失或混用标准/Url 变体。