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======