发表于: 2017-01-20 23:41:00
1 803
今天完成的事情:完成了投资界面的接口
明天计划的事情:看看富有的接口文档
遇到的问题:
收获:Base64编码:
一.概念:
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。
为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。
二.实现原理:
转码过程例子:原始信息111.利用Base64来进行编码,看最终结果是什么?
3*8=4*6
内存中1个字符占8位.
转换前: 1 1 1
1.先转成ASCII码表对应的值:
ASCII码表值对应: 49 49 49
2.转换成对应的2进制: 00110001 00110001 00110001
3.6个一组进行重新划分为4组: 001100 010011 000100 110001
4.然后计算机是8位8位的存数 6不够,自动就补两个高位0了.
所有有了高位补0.
科学计算器输入 00001100 00010011 00000100 00110001
得到 12 19 4 49
5.查对下Base64对照表,得到最终结果: M T E x
评论