Aback ZIP
ローカルで処理
基礎6 min read

ZIPファイルとは何か?

ZIP形式をわかりやすく解説します。コンテナ、圧縮方式、そしてZIPが縮まない理由について。

ZIPファイルは、整理された引き出しのある箱のように、他のファイルやフォルダを内部に収めた1つのファイルです。内容を圧縮してスペースを節約でき、箱全体を1つの単位として移動、メール送信、保存できます。

ZIPファイルは実際に何をするのか?

ZIPアーカイブには2つの役割があります。1つ目はバンドルです。多くのファイルとフォルダが1つのファイルになり、共有が簡単になります。2つ目は圧縮です。データ内の繰り返しパターンをより効率的にエンコードすることで、アーカイブは各部分の合計より小さくなります。

ZIP圧縮の仕組み

ほとんどのZIPファイルはDEFLATEと呼ばれる圧縮方式を使用します。繰り返しのバイト列を見つけ、再び書き出す代わりに以前の出現箇所を参照し、最も頻繁なシンボルに短いコードを割り当てます。

一部のファイルが縮まない理由

多くの一般的な形式はすでに内部で圧縮されています。

  • JPEG、PNG、WebP画像
  • MP4、MP3などのメディア
  • 画像を埋め込んだPDF文書
  • DOCX、XLSX、PPTXファイル(これら自体がZIPアーカイブ)
  • 既存のZIPファイル

これらを再圧縮するのは密封された荷物を包むようなもので、オーバーヘッドが少し増えるだけで、節約はほとんどありません。

ZIPファイルの内部

ZIPアーカイブはエントリの連続です。各エントリにはローカルヘッダ、圧縮データ、ファイル末尾の中央ディレクトリのレコードがあります。中央ディレクトリには、名前、サイズ、圧縮方式、タイムスタンプ、データ整合性の検証に使われるCRC-32チェックサムとともに、すべてのエントリがリストされています。

保存と圧縮

ZIPファイルは、圧縮なしでエントリを保存できます。これを保存モードと呼びます。元のファイルと同じ容量を占めますが、ファイルは1つのアーカイブにまとめられているため、すでに圧縮されたデータに時間を費やさずに済みます。

Frequently asked questions

ZIPとZIPXは同じものですか?

いいえ。ZIPXはLZMA、PPMd、BZip2などの新しい圧縮方式を可能にする拡張です。標準のZIPツールではZIPXファイルを開けない場合があります。

ZIPファイルには何でも入りますか?

はい。ZIPはコンテナです。文書、画像、実行ファイル、スクリプトを含められるため、未知のソースからのZIPファイルは注意して扱ってください。