Base32解码/编码

关于Base32编码

Base32 是一种使用可打印 ASCII 字符的编码方法。Base32 中,数据被分成 5 位,并转换成字母数字字符(AZ,2-7)。每 8 个字符转换一次,如果最后一个字符不足 8 个字符,则用等号 (=) 填充。Base32字符的转换表如下。

5位数Base32字符
00000A
00001B
00010C
00011D
00100E
00101F
00110G
00111H
01000I
01001J
01010K
01011L
01100M
01101N
01110O
01111P
10000Q
10001R
10010S
10011T
10100U
10101V
10110W
10111X
11000Y
11001Z
110102
110113
111004
111015
111106
111117

例如,如果将“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 00100

3.使用转换表转换为字符。每8个字符转换一次,如果少于8个字符,则用“=”填充末尾。

JBSWY3DP EE======

4.将所有字符连接起来,就得到了Base32转换结果。

JBSWY3DPEE======