base64编码原理是将一个8位子节序列拆散为6位的片段,并为每个6位的片段分配一个字符,这64个字符为小写字母【a-z】,大写字母【A-Z】,数字【0-9】,符号【+】、【/】。
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编码。
第一步,"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。
以上是base64编码原理是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!