Mister SirCode Asked: 2019-05-03 16:09:25 +0800 CST2019-05-03 16:09:25 +0800 CST 2019-05-03 16:09:25 +0800 CST 我可以将 Base85 转换为数据 URL 吗?如果是这样怎么办? 772 我最近才了解到 base 的一个更高效的版本,称为Ascii85(或 Base85),正如所见,它的存储效率比Base64或Uuencode高得多: 这是在 Base85 中: 你好=BOu!rDZ 这是在 Base64 中: 你好=SGVsbG8= 所以,我想知道是否有可能将文件转换为 Base85,以及是否有可能从上述 Base85 文件代码中制作数据 URL。如果是这样,这将彻底改变我的编码平台,并使那些庞大的 Base64 文件源大幅缩减。 如果以上可行,是否有自动数据 URL 生成器? ascii base64 2 个回答 Voted Best Answer user89623 2019-05-03T18:04:25+08:002019-05-03T18:04:25+08:00 所以,我想知道是否可以将文件转换为 Base85 是的。但是,如果您打算将它们存储为文件,那么对它们进行编码的最有效方法就是根本不对它们进行编码。 以及是否可以从所述 Base85 文件代码中创建数据 URL 不可以。Base64 是唯一支持 URL 的编码——它在RFC 2397data:中被定义为一种特殊情况。 phuclv 2019-05-03T17:57:47+08:002019-05-03T17:57:47+08:00 当然可以。我们知道编码和解码每种编码的方式,因此可以将 base64 数据转换回普通数据,然后再将其转换为 base85 SGVsbG8= → Hello → BOu!rDZ 另请注意,还有其他比 base85 更高效的编码,具有更快的编码/解码速度。例如 base91 可以使用查找表进行编码/解码,而 base122 是纯二进制编码。OTOH base85 总是需要乘法/除法来编码/解码 但是,根据您要在何处使用不同的编码,效率可能会有所不同。例如在 html 文件中有一些禁止使用的字符,所以 base95 需要一些转义,这可能比 base64 本身更糟糕。同样在 URL 中只允许一些字符,其他字符将被编码,%甚至比原始数据更长 请参阅什么是最有效的二进制文本编码?
是的。但是,如果您打算将它们存储为文件,那么对它们进行编码的最有效方法就是根本不对它们进行编码。
不可以。Base64 是唯一支持 URL 的编码——它在RFC 2397
data:
中被定义为一种特殊情况。当然可以。我们知道编码和解码每种编码的方式,因此可以将 base64 数据转换回普通数据,然后再将其转换为 base85
另请注意,还有其他比 base85 更高效的编码,具有更快的编码/解码速度。例如 base91 可以使用查找表进行编码/解码,而 base122 是纯二进制编码。OTOH base85 总是需要乘法/除法来编码/解码
但是,根据您要在何处使用不同的编码,效率可能会有所不同。例如在 html 文件中有一些禁止使用的字符,所以 base95 需要一些转义,这可能比 base64 本身更糟糕。同样在 URL 中只允许一些字符,其他字符将被编码,
%
甚至比原始数据更长请参阅什么是最有效的二进制文本编码?