圧縮/解凍とは

ンターネット上からダウンロードしたファイル、例えばVector等で提供しているソフトウェア各種や、プリンタ等のデバイスドライバをダウンロードした時に、そのファイル形式はどうなっているでしょうか?

ほとんどの場合、アプリケーションソフトのプログラムファイルであれデバイスドライバであれ、そのままのファイル形式で配布されているわけではありません。(デバイスドライバについては、デバイスドライバとは を参照してください)

下図は、インターネットからダウンロードしたあるフリーソフトのファイルですが、ファイル形式は「自己解凍」ファイルとなっています。

自己解凍ファイルのイメージ

アプリケーションソフトの実行ファイル(.exe)なのに、自己解凍とはどういうことかというと、これらのファイルは、複数のファイルを一つにまとめて、さらにデータサイズをもとのファイルよりも小さくして提供しているためで、「解凍」して元にもどしてやる必要があるということなのです。

つまり、「A」「B」「C」というファイルをまとめて「D」とし、さらにデータサイズを「A」「B」「C」の合計よりも小さくして提供し、受け手側で元の「A」「B」「C」に復元するというわけです。

こうすることで、ユーザーからすれば複数のファイルを何度もダウンロードする手間を省くことができます。このように、複数のファイルを一つにまとめてサイズを小さくすることを、

圧縮

と言います。圧縮率はファイル形式にもよりますが、単純なテキストファイルの場合は100分の1以下にまでサイズを小さくすることもできます。逆に、JPEG形式などの画像ファイルはすでに圧縮した形式で保存されているため、あまり小さくすることはできません。(詳しくは、次項で解説します)

圧縮の原理は、例えばデータが「AAAABBBBCCDD」だった場合、「A4B4C2D2」のように、同じデータを数字で表現するというものです。

こうして圧縮してまとめられたファイルは「アーカイブ(書庫)」とも呼ばれます。(ファイルの「アーカイブ属性」とは異なります。(詳しくは後述します)

そして、逆に圧縮ファイルを元の形式に戻すことを、

解凍

と言います。通常は、解凍する際にファイルの解凍場所(ドキュメントやデスクトップなど)を指定して解凍します。

解凍を実行すると、圧縮ファイルと解凍後の元のファイルが入れ替わるわけではなく、圧縮ファイルと元のファイルの両方が残るようになります。この場合、圧縮ファイルの方を削除しても、解凍した元のファイルには何の影響もありません。

実際の圧縮・解凍には、専用のアプリケーションソフト(圧縮・解凍ソフト)を使います。現在では、OSの対応により、圧縮・解凍ソフトは必要なくなりつつありますが、細かい設定をするには専用ソフトを利用した方が良いでしょう。下図は、私が使っているフリーの圧縮・解凍ソフト「Lhaplus(ラプラス)」です。

圧縮・解凍ソフトのイメージ

実際の使い方はとても簡単で、圧縮したいファイルを任意のフォルダの中に入れ、そのフォルダをドラッグして上図のアイコン上にドロップするだけです。多くのソフトはこれと同様の方法で圧縮することができます。

例えば、下図の「test」というテキストファイル(4.25MB)を圧縮してみましょう。

テキストファイル(4MB)のイメージ

まずこのファイルを、任意のフォルダ(「test」フォルダ)に入れ、そのフォルダを「Lhaplus」のアイコンにドラッグ&ドロップします。フォルダの中には複数のファイルを入れても構いません。

圧縮ソフトのアイコンへのドラッグ&ドロップのイメージ

すると、圧縮するファイルの「圧縮形式」を選択する画面が表示されるので、圧縮形式を選択(ここでは「.zip」を選択)して「はい」を押すと圧縮が開始されます。(圧縮形式については後述します)

圧縮形式の選択画面のイメージ

圧縮が完了すると、上で選択した圧縮形式の拡張子が付いた圧縮ファイルが、指定したフォルダに作成されます。ここでは、ファイルサイズが4.25MBから15.8KBまで圧縮されています。

圧縮ファイルのイメージ

反対に、圧縮ファイルを解凍して元にもどす場合は、上図の圧縮ファイルをダブルクリックすれば解凍が開始されます。また、圧縮と同様にドラッグ&ドロップでも解凍することができます。

解凍は、前述のとおり解凍先を指定して元のファイルに復元します。圧縮ファイルと入れ替わって復元されるわけではありません。

ただし、ダブルクリックで解凍できるのは、Lhaplusのようなソフトウェアがインストールされている場合です。当然のことと言えば当然ですが、例えばメールで圧縮ファイルを送信したとして、相手が圧縮・解凍ソフトをインストールしているかどうか(またはOSが対応しているかどうか)わからない場合があります。

対応していない場合、圧縮ファイルを受け取っても解凍することができず、インターネットから何かしらの圧縮・解凍ソフトを探してインストールしなければなりません。そんなことを相手にさせる可能性があるとすれば、とてもビジネスで使えるものではありません。

そこで、解凍用のプログラムを圧縮ファイルに埋め込んで、専用のソフトウェアを必要とせずにファイルの実行(ダブルクリック)だけで誰でも解凍できるファイルを作成することができます。このファイルを、

自己解凍ファイル

と言います。自己解凍ファイルは、ソフトウェアやデバイスドライバの配布によく用いられ、本項の一番最初の図(lpls157.exe)も自己解凍ファイルになります。

ちなみに同図のファイルは、ダウンロードした「Lhaplus」本体のファイルになります。ファイルをダブルクリックすると自動的に解凍され、アプリケーションソフトのインストールまで行われる仕組みとなっています。

ただし、自己解凍ファイルはそのプログラムに合ったOSでしか利用できず、基本的に他のOSでは利用することができません。Windows用の自己解凍ファイルは拡張子が「.exe」となります。

このようにファイルを圧縮することで、

・複数のファイルを一つのファイルとして扱うことができる
・ファイルサイズを小さくすることができる

というメリットがあります。こうした特徴は、インターネットに代表されるネットワークでデータをやり取りする際に特に有効です。まずデータサイズを小さくできますし、複数のファイルを数回に分けてダウンロードしたり、いくつものファイルをメールに添付したりする手間から解放されるからです。

また、電子メールの書式 でも解説のとおり、プロバイダやゲートウェイサーバの設定によって、「.exe」「.mdb」「.ini」などの拡張子を持つ添付ファイルは、システムに重大な影響を与えるプログラムである可能性があるため、セキュリティ対策上、遮断して破棄される場合があります。

この場合、それらのファイルを圧縮して拡張子を変更して送信すれば、ファイルを破棄されることなく相手に送信することができます。(もちろん、事前に双方で安全なファイルであることを確認してから送受信する必要があります)

では次に、圧縮ファイルの形式について解説していきましょう。

ファイル圧縮形式には、いくつかの種類がありますが、基本的には2つの形式のみで十分というほど、2つの形式が抜きん出るかたちで普及しています。その2つとは、「ZIP」と「LZH」と呼ばれるファイル圧縮形式です。

ZIP形式(ジップ)

ZIP形式は、世界的にもっとも広く使われている事実上の世界標準のファイル圧縮形式で、拡張子は「.zip」になります。

Windows 2000、XPから標準対応しており、ファイルを右クリックして「送る」よりZIP形式で圧縮ファイルを作成することができます。

また、パスワードを設定することも可能で、解凍時にパスワードの入力を要求するように設定することができます。このため、機密性の高いファイルをやり取りする場合には有効な形式です。

LZH形式(エル ゼット エイチ)

LZH形式は、日本でよく使われているファイル圧縮形式です。吉崎栄泰氏が開発したファイル圧縮プログラム「LHA(エル エイチ エー)」で圧縮したファイルの拡張子が「.lzh」だったことから、LZH形式の名称が付けられました。

したがって、圧縮・解凍ソフトの一つである「LHA」と混同されがちですが、ファイル形式も「LZH」で、拡張子も「.lzh」となります。しかし、明確に区別されているわけでもありません。

Windows Vistaからは標準対応しており、ファイルを右クリックして「圧縮」より形式を選択してLZH形式の圧縮ファイルを作成することができます。

Windows Vistaの右クリックメニューのイメージ

このZIP、LZHの2つがファイル圧縮形式の圧倒的シェアを誇っています。

CAB形式(キャブ)

CAB形式は、Microsoft社によって開発された、主にWindowsのファイル配布などに利用されているファイル圧縮形式で、拡張子は「.cab」になります。

圧縮ファイルにデジタル署名を付けることができるので、認証を行うことができ、プログラムの配布には最適な形式です。(デジタル署名については、デジタル署名とは を参照してください)

RAR形式(ラー)

RAR形式は、ZIP形式やLZH形式よりも圧縮率の高いファイル圧縮形式で、圧縮ファイルを任意のサイズで複数のファイルに分割することができ、分割した圧縮ファイルを結合して解凍することができるため、インターネットからダウンロードする大容量ファイルに使われる形式です。

RAR形式も圧縮ファイルにデジタル署名を付けることができます。拡張子は「.rar」となります。

以上が主なファイル圧縮形式になります。今後さらに高い圧縮率で様々な機能を備えた形式が誕生して行くことになると思います。

最後に補足です。まとめられて圧縮されファイルを「アーカイブ」と言いましたが、WindowsシリーズのXP以前のOSでは、ファイルのプロパティ(属性の意味)を表示すると「アーカイブ」という項目があり、よく勘違いされることがあります。このファイルのプロパティのアーカイブは、

アーカイブビット(または、アーカイブ属性)

と呼ばれるファイル情報のことで、圧縮ファイルのアーカイブとは異なります。アーカイブビットは、一種の更新チェック情報で、最後にバックアップを行ってから、その後に変更されたファイルにこのチェックが付くようになります。

アーカイブビットのイメージ

ファイルを更新すると、そのファイルのアーカイブ ビットが自動的にチェックされ、そのファイルをバックアップすると、アーカイブ ビットがクリアされるというわけです。

つまり、まだバックアップされていないファイルを追跡できるようにするための機能で、アーカイブ ビットが有効になっているファイルは、最後のバックアップ以後に変更されたファイルということになります。

更新履歴

2009年10月19日
ページを公開。
2009年10月19日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2014年5月23日
内容修正。
2018年2月5日
ページをSSL化によりHTTPSに対応。

参考文献・ウェブサイト

当ページの作成にあたり、以下の文献およびウェブサイトを参考にさせていただきました。

圧縮と解凍について
http://www.toyama-tic.co.jp/click/back/click04/faq_assyuku.html