使用しているZipファイルとrarファイルがいくつかあり、各ファイルの圧縮方法のプロパティ(圧縮レベル、圧縮アルゴリズム(deflate、LZMA、BZip2など)、辞書サイズ、ワードサイズ)を分析しようとしています。など)、これを行う方法はまだわかりません。
ソフトウェアまたはその他の方法で、ファイルを分析してこれらのプロパティを決定する方法はありますか?
乾杯とありがとう!
hachoir-wx これらのファイルを確認することをお勧めします。 Python package をインストールする方法、またはWindowsを使用しているときにPyPMで ActivePython を試すことができます。必要なhachoirパッケージがインストールされている場合は、 GUIを実行するために次のようなことを行うことができます:
python C:\ Python27\Scripts\hachoir-wx
これにより、RARおよびZipファイルのデータフィールドを参照できます。例については、これを参照してください スクリーンショット 。
RARファイルについては、WinRARインストールディレクトリにある technote.txt ファイルを参照してください。これにより、RAR仕様の詳細情報が得られます。あなたはおそらくこれらに興味があるでしょう:
HEAD_FLAGS Bit flags: 2 bytes
0x10 - information from previous files is used (solid flag)
bits 7 6 5 (for RAR 2.0 and later)
0 0 0 - dictionary size 64 KB
0 0 1 - dictionary size 128 KB
0 1 0 - dictionary size 256 KB
0 1 1 - dictionary size 512 KB
1 0 0 - dictionary size 1024 KB
1 0 1 - dictionary size 2048 KB
1 1 0 - dictionary size 4096 KB
1 1 1 - file is directory
辞書のサイズはWinRARGUIでも確認できます。
METHOD Packing method 1 byte
0x30 - storing
0x31 - fastest compression
0x32 - fast compression
0x33 - normal compression
0x34 - good compression
0x35 - best compression
そして ウィキペディア もこれを知っています:
RAR圧縮ユーティリティは独自のものであり、閉じたアルゴリズムを備えています。 RARは、ユージン・ローシャルの兄であるアレクサンダーL.ローシャルが所有しています。 RARのバージョン3は、Lempel-Ziv(LZSS)と部分一致(PPM)圧縮による予測、特にDmitryShkarinによるPPMIIのPPMd実装に基づいています。
Zipファイルの場合、まず 仕様 と Zip Wikipediaページ を確認します。これらはおそらく興味深いものです:
general purpose bit flag: (2 bytes)
compression method: (2 bytes)
これはかなり古い質問ですが、上記の方法のいくつかは私が使用するのが簡単ではなかったので、とにかく私の2セントを投入したかったのです。
これは7-Zipで確認することもできます。アーカイブを開いた後、圧縮方法の列があります。
Zipの場合-はい、zipinfo
RARの場合、ヘッダーは7ZipまたはWinRARのいずれかで簡単に見つけることができます。添付のドキュメントをお読みください
7-Zip(またはp7Zip)コマンドライン経由:
7z l -slt archive.file
特に圧縮方法を探している場合:
7z l -slt archive.file | grep -e '^---' -e '^Path =' -e '^Method ='
Zipファイルの場合、コマンドzipinfoがあります。
タイプは簡単です。ファイルヘッダー(PK
とRar
)を見るだけです。
残りの部分については、圧縮されたコンテンツで情報が利用できるとは思えません。