Base32 是一种使用可打印 ASCII 字符的编码方法。Base32 中,数据被分成 5 位,并转换成字母数字字符(AZ,2-7)。每 8 个字符转换一次,如果最后一个字符不足 8 个字符,则用等号 (=) 填充。Base32字符的转换表如下。
| 5位数 | Base32字符 |
|---|---|
| 00000 | A |
| 00001 | B |
| 00010 | C |
| 00011 | D |
| 00100 | E |
| 00101 | F |
| 00110 | G |
| 00111 | H |
| 01000 | I |
| 01001 | J |
| 01010 | K |
| 01011 | L |
| 01100 | M |
| 01101 | N |
| 01110 | O |
| 01111 | P |
| 10000 | Q |
| 10001 | R |
| 10010 | S |
| 10011 | T |
| 10100 | U |
| 10101 | V |
| 10110 | W |
| 10111 | X |
| 11000 | Y |
| 11001 | Z |
| 11010 | 2 |
| 11011 | 3 |
| 11100 | 4 |
| 11101 | 5 |
| 11110 | 6 |
| 11111 | 7 |
例如,如果将“Hello!”用Base32转换,则如下所示。
1. 使其成为二进制表示。
01001000 01100101 01101100 01101100 01101100 01101111 00100001 (适用于 US-ASCII / UTF-8)2.每5位分隔,不足5位则在末尾补“0”。
01001 00001 10010 10110 11000 11011 00011 01111 00100 001003.使用转换表转换为字符。每8个字符转换一次,如果少于8个字符,则用“=”填充末尾。
JBSWY3DP EE======4.将所有字符连接起来,就得到了Base32转换结果。
JBSWY3DPEE======