如果我将图像(jpg或png)转换为base64,它将变大还是具有相同的尺寸?会大多少?
是否建议在我的网站上使用base64编码的图像?
如果我将图像(jpg或png)转换为base64,它将变大还是具有相同的尺寸?会大多少?
是否建议在我的网站上使用base64编码的图像?
Answers:
这是什么时候使用base64编码,什么时候不 使用David Calhoun 的一个非常有用的概述。
基本答案 = gzip压缩的base64编码文件的文件大小将与标准二进制文件(jpg / png)大致相当。Gzip的二进制文件将具有较小的文件大小。
外卖 =对UI图标等进行编码和gzip压缩有一些优势,但是对于较大的图像这样做是不明智的。
将图像编码为base64会使它大30%。
请参阅Wikipedia文章中有关Data URI scheme的详细信息,其中指出:
Base64编码的数据URI的大小比其二进制等效文件大1/3。(但是,如果HTTP服务器使用gzip压缩响应,则此开销将减少到2-3%)
答案是:这取决于。
尽管base64映像较大,但在某些情况下base64是更好的选择。
base64图像的大小
Base64使用64个不同的字符,这是2 ^ 6。因此base64每8位字符存储6位。因此,从未转换的数据到base64数据的比例是6/8。这不是精确的计算,而是粗略的估计。
例:
一个48kb的图像大约需要64kb作为base64转换的图像。
计算:(48/6)* 8 = 64
Linux系统上的简单CLI计算器:
$ cat /dev/urandom|head -c 48000|base64|wc -c
64843
或使用图片:
$ cat my.png|base64|wc -c
Base64图片和网站
这个问题很难回答。一般而言,使用base64图像越大,感觉越少。但是请考虑以下几点:
如果要使用base64编码的图像,肯定会花费更多的空间和带宽。但是,如果您的站点上有很多小图像,则可以通过将图像编码为base64并将它们放入html来减少页面加载时间。这样,客户端浏览器将不需要与图像建立大量连接,而是将它们包含在html中。