跳到主要内容
uencoder

Base64

Base64 是一种将任意二进制数据映射到 64 个可打印 ASCII 字符(A-Z、a-z、0-9、+、/)的编码方案,使二进制数据能在仅支持文本的通道中传输。

用途

解决早期邮件系统只能传输 7 位 ASCII 文本、无法直接携带二进制附件的问题,同时避免控制字符被网关篡改。

机制

将输入字节流按每 3 字节(24 位)一组划分为 4 个 6 位单元,每个 6 位值映射到 Base64 字母表的一个字符。若最后一组不足 3 字节,用 = 填充至 4 字符。编码后长度约为原数据的 4/3,且输出始终是 4 的倍数。

用例

  • 在 JSON、XML、URL 中嵌入二进制数据(如 Data URL 中的小图片)
  • 电子邮件 MIME 附件传输
  • HTTP Basic 认证中编码用户名:密码
  • JWT 的 Header 与 Payload 段编码

示例

  • 输入
    Hello
    输出
    SGVsbG8=

    5 bytes to 8 characters with one trailing = pad

常见错误

Using standard Base64 directly in URLs, where + and / get percent-encoded and decoding fails
Use Base64URL instead (- and _ replace + and /, and = padding is dropped)

相关词条

相关工具

相关教程

参考链接