我可以将 Base85 转换为数据 URL 吗?如果可以,该怎么做?

我可以将 Base85 转换为数据 URL 吗?如果可以,该怎么做?

我最近才知道一个更高效的 base 版本,叫做Ascii85(或 Base85),并且可以看出,它的存储效率比Base64或者编码

这是 Base85 格式的:

  • 你好 =BOu!rDZ

这是 Base64 格式的:

  • 你好 =SGVsbG8=

所以,我想知道是否有可能将文件转换为 Base85,以及是否有可能用上述 Base85 文件代码制作数据 URL。如果是这样,这将彻底改变我的编码平台,并使那些庞大的 Base64 文件源大幅缩减。

如果上述可行,是否有一个自动数据 URL 生成器?

答案1

所以,我想知道是否可以将文件转换为 Base85

是的。但是如果你要将它们存储为文件,最有效的编码方式就是根本不对它们进行编码。

以及是否可以使用上述 Base85 文件代码制作数据 URL

不是。Base64 是 URL 唯一支持的编码data:——它被定义为RFC 2397

答案2

当然可以。我们知道每种编码的编码和解码方式,因此可以将 base64 数据转换回普通数据,然后再将其转换为 base85

SGVsbG8= → Hello → BOu!rDZ

还要注意,还有其他比 base85 更高效的编码,编码/解码速度更快。例如,base91 可以使用查找表进行编码/解码,base122 是纯二进制编码。另一方面,base85 总是需要乘法/除法进行编码/解码

但是,根据您想要使用的位置,不同的编码可能会有不同的效率。例如,在 html 文件中有一些禁用字符,因此 base95 需要进行一些转义,这可能比 base64 本身更糟糕。同样,在 URL 中,只有一些字符是允许的,其他字符将被编码,%这甚至比原始数据更长

最有效的二进制到文本编码是什么?

相关内容