base64编码掠影

base64编码可将二进制文件转换成ascii字符串。得到的字符串比原二进制文件大,在小规模文件的统计中,一般大1/3,比如一个9k大小的png图片转换成的base64编码大小为12k左右,其具体格式如下:

iVBORw0KGgoAAAANSUhEUgAAAKMAAAAUCAYAAADho41NAAAYJmlDQ1BJQ0MgUHJvZmlsZQAAWIWVeQVUVdu3/tECUOncdDSUgoIgKCAiKSSiihGCgIIlKKwUUQFRXwIoiKcrkYdL1N6P/V4I6+XBC5NIAAAAASUVORK5CYII=

几乎每个系统和语言都实现了base64的编码解码。在unix-like的系统中,可以直接cli:$base64 binaryfile。php中可以base64_encode(binaryfile),osx中还有一个uuencode。

结合压缩算法,可将base64编码用于嵌入式领域或web中的小文件承载。

在web领域一般用于将不超过10k的图片嵌入到网页中,这样可以减少至少一个http请求。但缺点是文件略微变大,且base64承载的图片不会缓存。其语法如下:
src=”data:image/png;base64,BASE64CODE”

跟cdn部署加速各有优缺点,在具体的案例要具体判断,当然把两种技术结合也是一个方法。

为您推荐

发表评论

电子邮件地址不会被公开。