gpt4 book ai didi

zip - zip /7zip压缩差异

转载 作者:行者123 更新时间:2023-12-03 09:40:14 30 4
gpt4 key购买 nike

我有许多需要分发给用户的zip文件,其中约有130个。每个zip文件都包含许多相似的文本,html,xml和jpg文件。压缩文件总计146兆字节;解压缩后,其内容总计551mb。

我想将所有这些文件以尽可能小的格式分发给用户。我研究了两种不同的实现方式,每种方式都使用两种不同的压缩方案zip和7zip(据我所知,它是LZMA或其变体):

  • 将所有zip文件压缩为压缩文件,然后发送该文件(single.zip/7z)
  • 将zip文件的未压缩内容压缩为压缩文件,然后发送该文件(combined.zip/7z)

  • 例如,假设我有3个zip文件,即A.zip,B.zip和C.zip,每个文件都包含一个文本文件,一个html文件和一个XML文件。使用方法1,将创建一个包含A.zip,B.zip和C.zip的压缩文件。使用方法2,将创建一个压缩文件,其中包含A.txt,A.html,A.xml,B.txt,B.html,B.xml,C.txt,C.html和C.xml。

    我的假设是,在任何一种压缩方案下,方法2生成的文件都将比方法1生成的文件小或更小,或者至少与方法1生成的文件大小相同,因为您可以通过将所有文件放在一起考虑来提高效率。至少,方法2可以避免多个zip文件的开销。

    令人惊讶的结果(由7zip工具生成的文件大小)如下:
  • single.zip-142mb
  • single.7z-124mb
  • Combined.zip-149mb
  • Combined.7z-38mb

  • 我并不感到惊讶7zip格式产生的文件比zip格式小(结果2/4与结果1/3),因为它通常比zip压缩更好。令人惊讶的是,对于zip格式,将所有130个zip文件压缩在一起所产生的输出文件要比压缩所有未压缩的内容要小(结果3与结果1)。

    为什么将多个zip文件压缩在一起比将其未压缩内容压缩在一起更有效?

    我唯一能想到的是,在压缩期间,7zip格式会在所有文件内容上构建一个字典,因此它可以利用文件之间的相似性,而zip格式则可以为每个文件构建字典。真的吗?甚至那仍然不能解释为什么结果3比结果1大7mb。

    谢谢你的帮助。

    最佳答案

  • .zip和.7z均为无损压缩格式。 .7z较新,可能会为您提供更好的压缩率,但是它不像.zip那样得到广泛支持,而且我认为压缩/解压缩在计算上更加昂贵。
  • 改善的程度取决于您要压缩的文件类型,但取决于wikipedia article on 7zip
  • In 2011, TopTenReviews found that the 7z compression was at least 17% better than ZIP,[15] and 7-Zip's own site has since 2002 reported that while compression ratio results are very dependent upon the data used for the tests, "Usually, 7-Zip compresses to 7z format 30–70% better than to zip format, and 7-Zip compresses to zip format 2–10% better than most other zip-compatible programs."[16]

    关于zip - zip /7zip压缩差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21992551/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com