Nil*_*asu 1 python compression gzip archive winrar
我有一个大约500MB的巨大文本文件。我尝试从 python 程序和命令行使用Gzip对其进行存档。但是,在这两种情况下,存档文件的大小约为240MB,而在 Windows 中使用WinRAR存档时,存档文件的大小约为450KB。有什么我在这里想念的吗?为什么会有如此大的差异,我该怎么做才能达到类似的压缩水平?
我也用 Python 标记了它,因为任何与此相关的 Python 代码都会非常有帮助。
这是文件的前 3 行:
$ head 100.txt -n 3
31731610:22783120;
22783120:
45476057:39683372;5879272;54702019;58780534;30705698;60087296;98422023;55173626;5607459;843581;11846946;97676518;46819398;60044103;48496022;35228829;6594795;43867901;66416757;81235384;42557439;40435884;60586505;65993069;76377254;82877796;94397118;39141041;2725176;56097923;4290013;26546278;18501064;27470542;60289066;43986553;67745714;16358528;63833235;92738288;77291467;54053846;93392935;10376621;15432256;96550938;25648200;10411060;3053129;54530514;97316324;
Run Code Online (Sandbox Code Playgroud)
该文件可能是高度冗余的,重复模式大于 32K。gzip 的 deflate 仅在匹配时看起来 32K,而其他人可以利用更远的历史。
更新:
我刚刚制作了一个文件,它是一个 64K 的随机数据块,重复了 4096 次(256 MB)。gzip(带有 32K 窗口)对冗余视而不见,因此无法压缩它。gzip 将其扩展到 256.04 MB。xz(具有 8 MB 窗口的 LZMA)将其压缩为 102 KB。
| 归档时间: |
|
| 查看次数: |
4112 次 |
| 最近记录: |