数据URI ASCII,UTF-8或base64

时间:2013-02-22 18:52:33

标签: svg base64 data-uri data-url data-uri-scheme

在HTML页面中包含数据URI时,最好使用ASCII,UTF-8还是base64?

我将它用于SVG文件,可以表示为其中任何一个。

UTF-8(一旦URI编码)在未压缩时仍然比base64小一点,但是在base64中还有其他好处(比如CPU性能)吗?

1 个答案:

答案 0 :(得分:4)

我正在做一些与此相关的测试。关于前端,我认为除了需要在渲染之前解码的base64之外,差别很小。服务器端文件越小,处理的数据越少,使用的CPU越少。有了这个,我怀疑UTF-8将是CPU密集度最低的服务器端。

一些半脱离的笔记:

就文件大小而言,当服务器gzips时,svg胜过png。

我已经读过由于打开服务器端gzipping导致的小CPU崩溃。但是,由于必须处理较少的数据而导致的cpu收益不得不重新压缩每个文件。

SVG的渲染处理能力比png,jpg,gif,bmp等更多。位图也可以渲染。 SVG需要进行计算,栅格化,然后再渲染。在动画许多或复杂的svgs时需要警惕的事情。

我发现了一些统计数据

  • logo png = 9.2kb - > gzip = 9.2kb
  • logo svg = 10.5kb - > gzip = 4.4kb
  • 使用python scour优化svg = 9.4kb后,
  • logo svg - > gzip = 3.9kb
  • logo svg url encoded = 10.9kb - > gzip 4kb
  • logo svg base64 encoded = 12.4 - > gzip 5.5kb