Rumah  >  Artikel  >  base64编码原理是什么?

base64编码原理是什么?

coldplay.xixi
coldplay.xixiasal
2020-07-01 15:00:013902semak imbas

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

Atas ialah kandungan terperinci base64编码原理是什么?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn