3

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

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

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

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

网址(数据:图像/vnd.microsoft.icon;base64,/3d3d/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN3d3f/d3d3/3d3d/93d3f/d3d1WAAAA

.../snip 继续这样

4

3 回答 3

6

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

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

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

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

于 2013-03-09T01:53:37.527 回答
1

将其另存为 2 调色板 GIF 文件。

于 2013-03-09T02:35:36.947 回答
0

一旦你知道了 Base64 的值,你就可以编写一个循环来制作我想的那么多。根据循环的长度,它可能会也可能不会节省文件空间。

于 2013-03-09T01:49:53.377 回答