1. 对于码农,还是先上代码饱餐一顿。
2. Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法
2.1 为什么在进行Http传输的时候,需要把Byte数组进行Base64编码呢?
因为Http协议是文本协议,不同于二进制协议(如Thrift)那样直接进行二进制传输。
2.2 为什么只能支持64个字符呢,多了不是更好吗?可打印字符又是什么意思?
Base64是一种编码算法。为什么叫Base64呢?因为这种算法只支持64个【可打印字符】
涉及到ASCII码的知识了。ASCII码的范围是0-127(ascii码的128~255之间的值是不可见字符),其中0-31和127这33个字符属于控制字符(Controlcharacters)。剩下32-126这95个字符属于可打印字符(Printable characters),包含数字、大小写字母、常用符号。在这里只列举其中的一部分.
3. Base64编码对照表如下:
4. ASCII码对照表如下(可显示字符,不含ASCII控制字符)
编码对照计算转化如下: