我想知道什么是最大值。 Deflate64的压缩率是。
在常规收缩规范中,压缩比达到1032:1。
" 1032:1"的来源图是在zlib网站上给出的,其中告知:
限制来自一个长度/距离对可以 表示最多258个输出字节。长度至少需要一位 并且距离需要至少一位,因此两位可以给出258 字节输出,或8位,输出1032字节。动态块有 没有长度限制,所以你可以任意接近极限 1032:1。
由于Deflate64支持长度高达65.538,因此比率应该更高。
我只是在用65.538替换obve引号中的258字节并将其乘以4以获得262152:1
的比率时是对的吗?
提前致谢。
答案 0 :(得分:2)
没有。 (3 + 65535)* 8 /(16 + 1)= 524304 / 17~ = 30841.4:1。
最后一个长度代码的基值是3,并且额外位的数量是15,因此匹配的最大长度是3 + 65535.您可以输出那么多字节,或者是比特的八倍,对于每个长度/距离代码对。 524304位。长度代码的最小大小为1,因此对于额外位,最大长度可以用16位表示。然后是距离代码,距离为1,最小尺寸为1位。因此,我们有17位压缩数据来产生524304位未压缩数据。