※当ページはアフィリエイトプログラムによる収益を得ています。
ZIPアーカイブの圧縮比を高める方法
あらゆるOS上で解凍用ソフトウェアを追加せずに扱うことができるZIPアーカイブは様々なファイルをオンラインでやり取りする上で最もポピュラーな存在です。その汎用性からパソコンに詳しくないユーザーでも扱えるメリットは絶大ですが、他の後発のアーカイブ形式よりも圧縮比が小さいためファイルサイズを小さくするという本来の目的を果たせないこともあります。そこで今回はZIPアーカイブの圧縮比を高める方法についてご紹介します。
OSの標準機能で作るZIPアーカイブはバランス重視
ZIPアーカイブはOSの標準機能を使い作ることは可能ですが、どんなパソコンでもほどほどの負荷で処理できることを優先しており圧縮比は低めになっています。仮に圧縮比を高めようとすると処理が膨大になり、低スペックマシンでは作業時間が飛躍的に延びます。それでは誰も手軽にファイル圧縮を試せなくなってしまうため、OSの標準機能ではこのような仕様になっています。
ZIPアーカイブの圧縮比を高めるには7ZIPがおススメ
7ZIPは独自の7ZIPアーカイブ以外にもZIPなど各OSが標準対応している各種アーカイブを作成可能なソフトウェアです。そして各パロメーターを指定することで高圧縮なZIPアーカイブを作りつつ、マルチスレッド対応で大幅に増えた処理を効率よくこなせます。パロメーターは圧縮レベルの高い・低い、圧縮方式の選択、辞書サイズなどがありパロメーター数値を高くするほど圧縮比が高くなります。圧縮レベルを上げて圧縮方式を一般的なDeflateから変更するだけでもアーカイブのファイルサイズが激減するため、様々なパロメーターを全て操作する必要はありませんが、ぎりぎりまで容量を削りたいなら挑戦する価値はあります。
圧縮比の高いZIPアーカイブの作成には時間とマシンスペックが必要
圧縮比を高めるとアーカイブの作成に必要な処理は一気に膨れ上がります。特に圧縮するファイルサイズが大きい場合はメインメモリを大量に消費します。CPUもスレッド数が少ない下位モデルでは処理が終わるまでの待ち時間が極端に延びるため本番のファイルで圧縮を始める前に他の低容量のファイルでテスト圧縮をしてみることがおすすめです。パロメーターの項目としては辞書サイズとワードサイズを大きくすると高い圧縮比と引き換えに膨大な処理が生じやすい傾向にあります。
オンライン上で出回っているZIP爆弾は解凍すると危険
アーカイブの解凍用ソフトウェアの中には、アーカイブ内に別なアーカイブがあった場合に自動的に解凍する機能があるものがあります。ユーザーが何度も解凍作業をせずに済むというユーザビリティに配慮した仕様ではありますが、最近流行っているZIP爆弾に対しては驚異となります。ZIP爆弾は大量のZIPアーカイブの集合体であり、元ファイルは100キロバイトに満たないにも関わらず解凍するとパソコンの空き容量を使い切ってしまうほどのファイルが作られてしまいます。
まとめ
汎用性は高いが圧縮比は小さいと思われがちなZIPですが、適切にパロメーター設定をすることで他の圧縮フォーマットにも引けを取りません。もちろんその分処理が終わるまでの時間はかかりますが、テキストなど高い圧縮比を見込めるデータなら手間暇をかける価値は十分にあると言えます。