Base64编码方式

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,是一种基于64个可打印字符来表示二进制数据的方法。

Base64一般用于在HTTP协议下传输二进制数据,由于HTTP协议是文本协议,所以在HTTP协议下传输二进制数据需要将二进制数据转换为字符数据。

什么是可打印字符?
在ASCII码中规定,0 ~ 31、127这33个字符属于控制字符,32~126这95个字符属于可打印字符,也就是说网络传输只能传输这95个字符,不在这个范围内的字符无法传输。那么该怎么才能传输其他字符呢?其中一种方式就是使用Base64。

Base64 编码表:
Base64编码方式

定义了一个0-63的码表,分别有 A-Za-z0-9+/ 刚好64个字符

转换原理:
将索引转换为对应的二进制数据的话需要至多6个Bit,而 ASCII码需要8个Bit来表示。4 * 6个Bit可以存储3 * 8个Bit的数据,也就是说3个ASCII字符刚好转换成对应的4个Base64字符。Base64规定,当需要转换的字符不是3的倍数时,一律采用高位补0的方式凑足3的倍数,即用 “=” 填充。