两个相似文件的压缩率差异很大

两个相似文件的压缩率差异很大

我正在使用 WinRar 压缩两个文本文件,它们的大小大致相同(80Mb),包含 Json 结构化文本。

该文本是由同一个程序生成的,检查它,似乎两个文件的结构没有明显差异(Json 字段相同,只有值不同)。

然而,当将它们压缩成 Zip 文件时,压缩率会出现 1:10 的差异。也就是说,一个文件压缩后大小约为 2Mb,而另一个文件压缩后大小约为 20Mb。

造成如此巨大差异的原因是什么?

答案1

我复制了你的结果。

看起来文件中的数据Ticker_May.txt 不适合默认的压缩级别, 放气,其重点是速度而不是最佳压缩。

压缩是通过检测数据中的重复模式来实现的,因此它取决于用于检查数据段的缓冲区大小等因素。大多数压缩产品使用参数来决定压缩的质量,而更好的压缩通常需要更多的 CPU。

使用“超级”压缩级别进行压缩解决了这个问题,因此 Zip 存档的大小Ticker_May.txt比压缩包的大小还要小 29% Ticker_April.txt

我注意到,7Zip 压缩后的文件大小比 Zip 压缩后大约小一半,即使 Zip 压缩级别为“超级”。7Zip 使用的压缩算法/格式比 Zip 使用的旧算法/格式好得多。

相关内容