base64的编码

计算机中的数据一般是由ascii编码,来存储的,

  0---31以及127,表示的是控制字符;

  32-126表示的是字符,包括空格,阿拉伯数字,大小写字母;

  之后的128个字符,是不可见的字符,

在网络传输的过程中,128之后的字符,在不同的通信设备中,可能会存在不同的处理方式,而导致这些字符被错误的处理;

  导致通信出错。

所以在网络中,常常将数据先做一个base64的编码,统统变为可见字符,在通信的接收方,再进行base64的解码,来保证ascii被正确的

  传输。

很多纯文本的数据,都需要经过这样的处理。其他的非文本,本身不涉及到之后的不可见字符,可能不需要。

Base64的编码,使用6bit表示之前的8bit,翻译之后的字符,包括,26个小写字母,26个大写字母,一个+,一个反斜扛\

    这样的编码好处是,3个ascii码,一定可以转换为4个base64编码的字符;

      如果原字符不满足3的整数倍,则在之后加0,一直到3n个字符;

Base64的编码对照表:

    base64的编码

一个base64编码转换的例子:

    base64的编码

总结起来,base64解决了,很多纯文本的数据的传输,可靠性。

  SMTP和http中会常使用,(http也有自己的技术保证纯文本的数据传输的可靠性,可以直接传ascii编码的数据)

  X.509的证书

上一篇:JsonResponse返回中文乱码问题


下一篇:Java基础之在窗口中绘图——利用多态性使用鼠标*绘图(Sketcher 7 with a crosshair cursor)