为什么.ico(Base64)似乎浪费了这么多空间?

3 javascript base64 gimp

下面是我的徽标图标的base64表示.它主要是角色A.我在gimp中制作它然后将其转换为base64.

有什么我可以做的不同,以便我不浪费这么多的空间.我会假设有一些反复编码A,而不是明确地编写它们?

我知道Base64杀了顶级的33%,但这不是我的担忧.

在gimp中,我保存到.ico,然后使用在线工具转换为Base64 .

URL(数据:图像/ vnd.microsoft.icon; BASE64,/ 3d3d/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd3d3/3d3d/93d3dXd3d0lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN3d3Vbd3d3/3d3d/93d3f/d3d3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN3d3f/d3d3/3d3d/93d3f/d3d1WAAAA

.../snip像这样继续

Dai*_*Dai 6

Windows图标文件包含原始未压缩的位图数据,而Base64只是一种以33%的扩展速率对数据进行编码的方式.

根据您想要做的事情,有几种解决方案:

  • 使用PNG ICO格式:这是一个普通的多图像Windows*.ico文件,但位图数据存储为PNG而不是原始位图.仅Windows Vista或更高版本支持此功能.(PNG用于128x128和更大的图标大小,但由于兼容性和性能原因,位图用于所有较小的尺寸).
  • 直接使用PNG - 它看起来不像你正在利用ICO格式的多图像功能,这是一个图标吗?请注意,favicons可以是任何位图格式,而不仅仅是ICO.
  • 使用您的网络服务器的GZIP压缩 - 假设您通过网络提供ICO文件,那么效率低下的存储不是一个问题,因为大多数服务器(包括IIS)都带有HTTP Gzip压缩支持,这实际上缩减了这些内容.

除此之外,我/我们需要更多关于你想要完成的事情的信息.