下面是我的标志图标的 base64 表示。它主要是字符 A。我是在 gimp 中制作的,然后将其转换为 base64。

有什么我可以做的不同的事情,这样我就不会浪费这么多空间。我会假设有某种方式一遍又一遍地对 A 进行编码,而不是明确地编写它们?

我知道 Base64 会减少 33% 的损失,但这不是我关心的问题。

在 gimp 中,我保存到 .ico,然后使用 online tool. 转换为 Base64



.../snip 继续这样

最佳答案

Windows 图标文件包含未压缩的原始位图数据,而 Base64 只是一种具有 33% 扩展率的数据编码方式。

根据您想要做什么,有几种解决方案:

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

  • 除此之外,我/我们需要更多关于你想要完成什么的信息。

    关于javascript - 为什么 .ico ( Base64 ) 会浪费这么多空间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15306240/

    10-12 02:28