base64到底是什么?

发布时间 2023-12-19 14:57:43作者: Crazy_Joker

大家好,我是joker,希望你快乐。

base64在日常开发中还是比较常见,但是还有一些盲点,下面做个简单的总结。

base64是什么?

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。

为什么叫base64?

从base64 索引表中可以看出,因为包含64个字符,所以被称为base64。

base64中的=号是什么?

从上面的base64索引表中可以看出=是作为填充符出现。为什么会出现填充符,接下来我们通过base64的编码算法来看。

base64编码算法

由于log(2)64=6(以2为底),所以需要6个比特位表示每一个字符,从上面的base64编码索引表中也可以看出,3个字节的数据占用24个比特位,用base64编码表示就需要4个base64索引表中的字符。

编码“Man”的结果为TWFu,详细原理如下:

如果需要编码的字节数不能被3整除,就会多出1个或是2个字节,先使用0在字节二进制表示末尾补足6个比特位,然后进行base64编码,在编码后的base64文本后面填充1个或是2个=号,详细原理如下:

总结

今天的盲点总结就到这里,欢迎补充。

参考文档

Base64 - 维基百科,自由的百科全书 (wikipedia.org)