はじめに
 zipはコンピュータで汎用的に用いられているアーカイブ方法の名称です。一般に「zip」といえば、圧縮されたファイルを連想しますが、アーカイブとは「書庫」を指し、本来は複数のデータを一つのファイルにまとめたもののことをいい、規格に従って単純にファイルを連結しただけでも、zip形式は成立します。

 zipはその汎用性の高さから意外なところでも用いられています。たとえば、Microsoft Office 2007で採用されたdocxやxlsxといった新しい保存形式。

docx形式ファイル
sample.docx

 この「docx」部分を「zip」に変更してzipファイル解凍ソフトで開いてみると……。

拡張子をzipにしたdocx形式ファイル
sample.zip

 このように、中に記録されている画像ファイルなどを直接抜き出すことができます。つまり、Office 2007形式で保存されるのは実質zipファイルというわけです。

docx形式ファイルをzipアーカイバで閲覧

 パソコンを使っていれば必ず出会うことになるzipファイル。しかしながら、zipファイルをプログラムレベルで扱うとなると、どうしても外部ライブラリに任せきりになってしまいます。画像処理ライブラリがひととおり処理してくれるとしても、より高度な操作を行うにはビットマップファイル構造をある程度は知っておかなくてはならないように、zipファイルに関しても、ある程度の知識があったほうが応用性がきくようになります。

 「私的ZIPファイル研究所」では、zipファイルに関する基本的な構造を理解することで、オリジナルのソフトウェアにおけるzip処理への知識を深めることを目的とし、C++言語による一からのファイル作成や、著名な外部ライブラリを用いたzip圧縮・展開の方法などを解説していきます。