
ファイルの圧縮解凍
ファイルの圧縮とは
インターネットやパソコン通信でファイルを転送するとき(ダウンロードやアップロード)に、
元のままのファイルサイズ(ハードディスク上で実用しているサイズ)では時間がかかってしまいます。
転送は1秒間に何キロバイト、という単位で行われるものですから、ファイルのサイズの大きさイコール、転送に要する時間になります。
そこで電話代やプロバイダへの接続料金を軽減するために使われるのが「ファイルの圧縮」です。
元のファイルの形式やタイプ、状況にもよるのですが、最低でも80〜95%のサイズ、効果が大きいときには10%未満のサイズにしてしまうことができます。
特に効果が大きいのが「テキスト形式」のファイルで、10%近いサイズになってしまうこともあります。
逆に効果が小さいのは、元々圧縮されているJPEGやGIFといった画像ファイル、WAVEやMP3等の音声ファイル、AVIやMOVといった映像ファイルです。
MIDIファイルなどは単純なバイナリ形式ですので、かなりファイルサイズを小さくすることができます。
圧縮の原理は、ファイルの中の連続した記号、例えば「ag7444444ddddddf000000000」というデータを、「ag7」と「4×6」「d×6」「f」「0×9」という状態に変換するというものです。
つまり「ag7!46!d6f!09」というデータにしてしまえば25バイトあったデータが13バイトで済みます。
「!」の後の記号を、その記号の後の数だけ並べろ、という原理なのです。
圧縮形式
ファイルを圧縮するときに、色々な形式の圧縮方式があります。日本で最もポピュラーなのが「LHA形式」で、拡張子は“lzh”になります。
Windowsでもマックでも、ほとんどのファイルがLHAで圧縮されています。
アメリカで多く使われているのが「ZIP形式」で、拡張子は“zip”になります。また、マイクロソフトが販売しているソフトでよく見かけるのが、
「CAB方式」で、拡張子は“cab”になります。Windows95やWindows98を使っているのであれば、Cドライブの中にいくつものCABファイルがあるはずです。
他にも「ARJ方式」(拡張子“arj”)、「RAR方式」(拡張子“rar”)、「TAR方式」(拡張子“tar”)等があります。
その他もあるのですが実際に目にすることも無いと思いますので、ここでは割愛します。
解凍とは
圧縮された状態のファイルを、元に復元することを「解凍」と読んでいます。多分、冷凍された食品を解凍するときのようなイメージなのでしょう。
冷凍(圧縮)されたままでは食べられません(使えない)が、解凍すると食べられる(使えるようになる)というニュアンスで受け止めればいいでしょう。
解凍するためには、圧縮された形式に対応したソフトで解凍してやらなくてはいけません。
「CAB形式」はWindows標凖で解凍できる仕組みになっていますが、その他の圧縮形式のファイルは対応したソフトなしには解凍できません。
ここからが面倒なところで、困ったことにWindows上では、あらゆる圧縮形式に対応した「圧縮解凍ソフト」があっても、そのソフト単体では全く解凍作業ができません。
各圧縮形式に対応したダイナミックリンクライブラリ(拡張子がdllのシステムファイル)が必要になります。
「LHA形式」の場合には“UNLHA32.DLL”、「ZIP形式」の場合には“UNZIP32.DLL”、「CAB形式」の場合には“CAB32.DLL”、
「ARJ形式」の場合には“UNARJ32J.DLL”、「RAR形式」の場合には“UNRAR32.DLL”と“UNRAR.DLL”、
「TAR形式」の場合には“TAR32.DLL”というファイルが、Windowsのsystemフォルダ(ディレクトリ)に無くてはいけません。
幸いなことに、これらのシステムファイルはほとんどがフリーウェアとして配布されています(“UNRAR.DLL”はフリーウェアではありません)。
統合アーカイバ・プロジェクト(Common Archivers Library)というshoda T.さんのサイトに、全てのファイルが掲載されています。
圧縮解凍ソフトも、上記のサイトでほとんどのものが入手できます。我々がお勧めするのは「WinFM32」「WinLM32」「WinLM99」というソフトで、
全ての圧縮形式に対応している上、自己解凍書庫の中身を見ることもできます。
アーカイバとは違うの?
アーカイバ(アーカイバー)とは「書庫(Archive)」を操作するソフトという意味です。
一般に圧縮ファイルのことを「書庫」と呼びますので、アーカイバとは圧縮解凍ソフトのことを指しています。
本は閉じていたのでは読めません。従って、本は開いてやらなくては読めない、という意味で「書庫を開く」という表現を使います。
でも、本をしまっておくときには広げたままでは整理がつきません。そのままでは読めない状態にして書庫にしまうことを圧縮と考えるわけです。
何故、DLLファイルとソフトに分かれているの?
圧縮解凍に使うダイナミックリンクライブラリ(dll)はほとんどソフトのようなものなのですが、単体では全く動作しないDLLという形体にすることによって、
色々なソフトから呼び出して使えるようになっています。
ほとんどの圧縮形式が元々はDOS(Windowsになる前のコンピュータのOS)で使われていたものですから、それらをWindows上で実現できるようにしたのがDLLファイルなのです。
(他にも、公共性やフリーウェアの理念などが考えられると思います。誰でも簡単に圧縮解凍ができるようにするため、コンピュータ社会を発展させるため、
というような考え方の上に立っているものなのです。)
自己解凍書庫
Windowsで実行ファイルを意味している拡張子は「exe」です(DOSでは「com」)。
圧縮ファイルを実行ファイル形式にして、つまり解凍作業だけをするソフトを組み込んで「exe」ファイルにしたものを自己解凍書庫と言います。
最近では、DLLや解凍ソフトを必要としないこの形式の圧縮ファイルが多く使われるようになってきました。
その背景には、圧縮してファイルを持ち歩き、仕事先のパソコンで使うために便利(そのマシンにDLLや解凍ソフトが無くても使える)ということ、
そしてパソコンの初心者が困らないようにする、という2つの問題があると思います。
でも本来は、その圧縮解凍ソフトやDLLをダウンロードしたときに、そのファイルを解凍するソフトがないから、という発想なのです。
とりあえずどれを持っていればいいの?
日本で最も一般的な圧縮形式であるLHA方式を扱うために「UNLHA32.DLL」、そしてたまにアメリカの書庫を扱うために「UNZIP32.DLL」、
そして、その2つのファイル形式に対応した圧縮解凍ソフトが必要です。「UNLHA32.DLL」と「UNZIP32.DLL」はWindowsのsystemフォルダに格納し、
ソフトの方は好きなところにインストールして下さい。
これらのファイルは、ダウンロードした後も自動的に解凍される「自己解凍書庫」になっていますので、エクスプローラなどからダブルクリックすれば自動的に解凍されます。
我々がお勧めしたソフトとDLLファイルの全てを持っていれば「鬼に金棒」なのですが、実際にはほとんど使わない圧縮形式も多いと思いますので、これで必要最低限だと思って下さい。