Base32 应用与原理解析
简介: Base32编码使用32个ASCII字符对任何数据进行编码,Base32与Base64的实现原理类似,同样是将原数据二进制形式取指定位数转换为ASCII码。首先获取数据的二进制形式,将其串联起来,每5个比特为一组进行切分,每一组内的5个比特可转换到指定的32个ASCII字符中的一个,将转换后的ASCII字符连接起来,就是编码后的数据。 字典: Base32依赖更小的字典,Base32编码时每5个字符为一个分组,字典的长度为2 5 + 1=33。 Base32通用的字典定义如下: Value Encoding Value Encoding Value Encoding Value Encoding 0 A 9 J 18 S 27 3 1 B 10 K 19 T 28 4 2 C 11 L 20 U 29 5 3 D 12 M 21 V 30 6 4 E 13 N 22 W 31 7 5 F 14 O 23 X padding = 6 G 15 P 24 Y 7 H 16 Q 25 Z 8 I 17 R 26 2 Base32还提供了另外一种字典定义,即Base32十六进制字母表。Base32十六进制字母表是参照十六进制的计数规则定义: Value Encoding Value Encoding Value Encoding Value