base64到底是什么?
大家好,我是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个=号,详细原理如下:
总结
今天的盲点总结就到这里,欢迎补充。
参考文档
作者:Crazy_Joker
来源:http://www.cnblogs.com/Crazy_Joker
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
来源:http://www.cnblogs.com/Crazy_Joker
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。