如何使用 zlib.compressobj(..., zdict)

how to use zlib.compressobj(..., zdict)

我正在尝试预设 zlib 的字典进行压缩。从 python 3.3 zlib.compressobj 函数开始提供选项。 docs 说它应该是一些 bytesarraybytes 对象,例如b"often-found".

现在:如何按照文档中的建议传递按出现可能性升序排列的多个字符串?是否有秘密分隔符,例如b"likely,more-likely,most-likely"?

不,不需要分隔符。所有字典都是一种资源,可以在其中查找与要压缩的数据部分匹配的字符串。因此,很可能出现的字符串可以简单地连接起来。如果开始和结束匹配,甚至重叠。例如,如果您想要使用 lighthouse 和 household 这两个词,您可以将 lighthousehold 放入字典中。

由于需要更多位来表示更靠后的匹配项,因此您可以将最有可能的匹配项放在字典的末尾。