首页  >  文章  >  base64编码原理是什么?

base64编码原理是什么?

coldplay.xixi
coldplay.xixi原创
2020-07-01 15:00:013913浏览

base64编码原理是将一个8位子节序列拆散为6位的片段,并为每个6位的片段分配一个字符,这64个字符为小写字母【a-z】,大写字母【A-Z】,数字【0-9】,符号【+】、【/】。

base64编码原理是什么?

base64编码原理是:

Base64编码将一个8位子节序列拆散为6位的片段,并为每个6位的片段分配一个字符,这64个字符----小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/" , 看到这里知道64是什么意思了吧,是代表64个字符,其实还有一个垫字的"=",实际上是65个字符。

Base64规则如下:

第一步,将每三个字节作为一组,一共是24个二进制位。

第二步,将这24个二进制位分为四组,每个组有6个二进制位。

第三步,在每组前面加两个00,扩展成32个二进制位,即四个字节。所以base64编码字符串大约比原来大了33%

例子

举一个具体的实例,演示英语单词Man如何转成Base64编码。

5ad0dbc9de9302df1ae00bbd7d95540.png

第一步,"M"、"a"、"n"的ASCII值分别是77、97、110,对应的二进制值是01001101、01100001、01101110,将它们连成一个24位的二进制字符串010011010110000101101110。

第二步,将这个24位的二进制字符串分成4组,每组6个二进制位:010011、010110、000101、101110。

第三步,在每组前面加两个00,扩展成32个二进制位,即四个字节:00010011、00010110、00000101、00101110。它们的十进制值分别是19、22、5、46。

第四步,根据下图,得到每个值对应Base64编码,即T、W、F、u。

因此,Man的Base64编码就是TWFu。

d1bbdb320a95be99a9a15089710843c.png

以上是base64编码原理是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn