base64的编码

Posted _9_8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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解决了,很多纯文本的数据的传输,可靠性。

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

  X.509的证书

以上是关于base64的编码的主要内容,如果未能解决你的问题,请参考以下文章

将 Base64 编码图像加密为另一个有效的 Base64 编码图像

Base64编码

base64编码与base64解码

Base64编码的长度问题-文件越大Base64的值越长

前端对base64编码的理解,原生js实现字符base64编码

base64编码解码