Base64

作者: 码农耕 | 来源:发表于2019-04-04 16:29 被阅读0次

    Base64是一种用64个(可打印的)字符来表示任意二进制数据的方法。

    原理:

    产生一个Base64的索引表,字符选用了”A-Z、a-z、0-9、+、/” 64个可打印字符,这是标准的Base64协议规定;

    第一步,将待转换的字符串每三个字节分为一组,每个字节占8bit,那么共有24个二进制位。

    第二步,将上面的24个二进制位每6个一组,共分为4组。

    第三步,在每组前面添加两个0,每组由6个变为8个二进制位,总共32个二进制位,即四个字节。

    第四步,根据Base64编码对照表获得对应的值。

    从上面的步骤我们发现:

    Base64字符表中的字符原本用6个bit就可以表示,现在前面添加2个0,变为8个bit,会造成一定的浪费。因此,Base64编码之后的文本,要比原文大约三分之一。

    为什么使用3个字节一组呢?因为6和8的最小公倍数为24,三个字节正好24个二进制位,每6个bit位一组,恰好能够分为4组。

    最后一句话简单总结就是:把二进制拆分成6bit一组,不足的高位补0,然后去64个字符表去对照产生新的数据.

    作用:

    在参数传输的过程中经常遇到的一种情况:使用全英文的没问题,但一旦涉及到中文就会出现乱码情况。与此类似,网络上传输的字符并不全是可打印的字符,比如二进制文件、图片等。Base64的出现就是为了解决此问题,它是基于64个可打印的字符来表示二进制的数据的一种方法。

    base64不能算是一种加密方式,就算是自定义对照表.

    相关文章

      网友评论

          本文标题:Base64

          本文链接:https://www.haomeiwen.com/subject/pcgxiqtx.html