Base64编码运用与基本原理

编码说白了就是按照一定规则对数据进行转换,工作原理有点类似于查字典,base64编码(叫base64的原因是因为其使用64个字符来对任意数据进行编码)可以用来将图片或者其他文件的二进制数据转换成字符串形式,以下代码是将一个图片通过base64编码成字符串,将字符串写入txt文件后再读取出来生成一个新的图片:

Base64编码运用与基本原理

结果如下:

Base64编码运用与基本原理

Base64编码运用与基本原理

从生成的txt文件可以看出,二进制字节流数据经过base64编码后多占用了大约1/3的空间,主要是因为base64是将连续的6bit的二进制数据计算得出对应的10进制数值(2的6次方=64,一字节为8bit),再通过转换规则表得到对应的字符。

base64作用很多,例如可以实现HTML内嵌Base64编码图片以减少图片请求数量,例如:

Base64编码运用与基本原理

深入的探究可以参考这篇文章,个人觉得分析得很到位:http://blog.xiayf.cn/2016/01/24/base64-encoding/