web-dev-qa-db-ja.com

gzip圧縮レベルを知るにはどうすればよいですか?

Gzip圧縮ファイルが与えられた場合、どの圧縮レベル(1〜9)が使用されたかを知るにはどうすればよいですか?

9
rabin

Gzipレベルを直接決定する方法はありません。
私の意見ではそれを判断する唯一の方法は、ファイルをgunzip圧縮してさまざまなレベルで圧縮し、その結果を既存のファイルサイズと比較することです。
私はデフォルトのレベルが6であると信じているので、ほとんどの場合それがあなたの答えであるべきです

6
Shekhar

ファイルのヘッダーに格納されます。それを表示するには、fileコマンドを使用します。例えば:

$ file testfile.gz
testfile.gz: gzip compressed data, from Unix, last modified: Sun Sep 15 14:22:19 2013, max compression

残念ながら、ヘッダーには3つの値しかありません。最大速度(レベル1)、最大圧縮(レベル9)、「通常」(その他すべてのレベル)です。しかし、何もないよりはましだ!

24
Zouppen

gzip -l <filename>は圧縮率を提供しますが、使用されている圧縮レベルを直接見つける方法はありません。

7
Andrew Lambert

それを直接知る方法はありません。おそらく6(現在のデフォルト)または9(最高の圧縮)です。試して比較する必要があります。

https://stackoverflow.com/questions/16153334/how-to-determine-the-compression-level-of-deflate を参照してください

1
kolistivra