返回学习中心

Base64原理

什么是Base64?

Base64是一种基于64个可打印字符来表示二进制数据的编码方式。它最初用于在电子邮件中传输二进制数据, 后来广泛应用于Web开发中的数据URI、API数据传输等场景。

Base64字符集

A-Z (26) + a-z (26) + 0-9 (10) + + (1) + / (1) = 64个字符
索引 0-25: A-Z
索引 26-51: a-z
索引 52-61: 0-9
索引 62: +
索引 63: /
索引 64 (padding): =

编码过程

以字符串 "Man" 为例:

  1. 转换为ASCII: M=77, a=97, n=110
  2. 转为二进制: 01001101 01100001 01101110
  3. 每6位分组: 010011 010110 000101 101110
  4. 转为十进制: 19, 22, 5, 46
  5. 查表转换: T, W, F, u
结果: TWFu

填充机制

当要编码的字节数不是3的倍数时,需要进行填充:

示例 "a": 只有一个字符,24位 → 分成4组 → 结果 "YQ=="
末尾补两个 =
示例 "ab": 两个字符,16位 → 分成4组但只有3组有效 → 结果 "YWI="
末尾补一个 =
示例 "abc": 三个字符,24位 → 刚好分成4组 → 结果 "YWJj"
不需要填充

为什么是64?

选择64个字符是因为2的6次方等于64,每6个二进制位可以表示一个Base64字符。 而每3个字节(24位)刚好可以转换成4个Base64字符,转换效率较高。 同时这64个字符都是不可逆的、安全传输的字符,适合在不同系统间传输。

返回下一课:常见场景