zoukankan      html  css  js  c++  java
  • 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的证书

  • 相关阅读:
    轮播效果
    获取用户请求过来的URL
    前端框架——AmazeUI学习
    评论功能——多说插件学习
    SqlServer中——查找杀死阻塞进程
    Java 时区(转)
    大型网站技术演进的思考(转)
    elasticsearch threadpool
    UML 类图
    elasticsearch No node available
  • 原文地址:https://www.cnblogs.com/-9-8/p/7941995.html
Copyright © 2011-2022 走看看