不使用 DEFLATE 的 ZIP 文件?

问题描述

我正在用 Python 制作一个(流式)解压缩函数。 ZIP 文件可以使用一系列压缩算法,但最常见的是根据 https://en.wikipedia.org/wiki/ZIP_(file_format)

进行 DEFLATE

是否有任何不使用 DEFLATE 的 ZIP 文件示例(例如,在提供下载的网站上)?既是为了测试,也是为了确定是否值得添加这种支持

解决方法

在 zip 存档中找到文件(尤其是已经压缩的文件,例如 PNG、JPG)是很常见的,因为 deflate 会使它们变得更大:

$ zip -v test.zip test.jpg test.txt

  adding: test.jpg  (in=21520) (out=21520) (stored 0%)
  adding: test.txt  (in=14113) (out=3827) (deflated 73%)
total bytes=35633,compressed=25347 -> 29% savings

然后

$ unzip -Z test.zip

Archive:  test.zip
Zip file size: 25657 bytes,number of entries: 2
-rw-r--r--  3.0 unx    21520 bx stor 21-May-18 11:03 test.jpg
-rw-r--r--  3.0 unx    14113 tx defN 21-May-18 11:10 test.txt
2 files,35633 bytes uncompressed,25347 bytes compressed:  28.9%

您可能还会发现使用 implode algorithm 的非常旧的 zip 文件,但我认为实施它不会增加价值。

,

我了解到 Windows 资源管理器将使用 Deflate64 为大于 2 GB 的条目创建 zip 文件。 7-Zip 可以根据要求使用 Deflate64、BZip2、LZMA 或 PPMd 生成 zip 文件。

我在野外没有发现任何未经储存或放气的物品(至少在过去 30 年中)。但我也没有看起来很努力。