使用单个压缩选项卡对多个对象进行Python压缩

2024-06-01 13:54:06 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑许多非常短(大约100个ascii字符)的字符串,这些字符串包含许多重复的子字符串。我想在Python程序中使用字符串,但是压缩它们以节省空间。 大多数压缩算法,如Lempel–Ziv(LZ),使用查找表对压缩数据进行编码。 有没有一种方法可以使用现有的压缩库(比如zlibzlib module)来实现这一点?在伪代码中,为了压缩数据,需要调用

table = zlib.makeTable( data )
foreach string:
    compressedString = zlib.compressString( table, string )

然后存储压缩的字符串。你知道吗


Tags: 数据字符串程序编码stringasciitable空间
1条回答
网友
1楼 · 发布于 2024-06-01 13:54:06

它不像你说的那样管用,但有一种方法可以满足你的要求。zlib有一个函数deflateSetDictionary(),您可以使用它为压缩器注入32K的数据,希望这些数据能够代表您要压缩的短字符串。您可以用示例字符串和/或示例字符串的一部分来构造它。你知道吗

相关问题 更多 >