发表于: 2017-01-20 23:41:00

1 802


今天完成的事情:完成了投资界面的接口
明天计划的事情:看看富有的接口文档
遇到的问题: 
收获: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



返回列表 返回列表
评论

    分享到