繁体   English   中英

如何在 zlib 中指定压缩类型?

[英]How do I specify the compression type in zlib?

我有这段代码,它使用 zlib 压缩二进制字符串:

f = open("compressed.bin", "wb")
x = zlib.compress(b"Some text to be compressed")
f.write(x)
f.close()

无论输入字符串如何,数据总是使用固定的霍夫曼代码压缩,而我希望使用动态霍夫曼代码压缩数据。 我什至尝试使用具有多次重复的字符串(例如 100 个“A”,然后是 100 个“B”,然后是 100 个“A”,等等),但它最终也会被固定代码压缩。

编辑:如果我指定level=9结果是一样的。

无论哪种方法可以实现更好的压缩,如何指定应使用动态代码压缩数据?

给它更多的数据。 至少几十个K。

仅当固定块小于相同数据的动态块时,才使用固定编码。 这通常仅适用于压缩少量数据的情况,或者仅保留少量数据的最后一个放气块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM