【ファイルの圧縮ってどういうこと】

更新日 1997年4月10日


ファイルは何らかの目的を持ったバイトの集合体ですが、これらの殆どは圧縮することができます。そもそも圧縮とは一体何なのかと言うことですが、一言で言えば「小さくする」ことです。例えば2メガバイトのファイルを持ち運びたい場合、標準的な1.44メガバイトのフロッピーに納めることはできませんが、もしこれを小さくすることができたら、フロッピーディスクに入れて持ち運びできるわけです。小さくすると言うことは「バイト数を減らす」ことですから、この場合2メガバイトのファイルが1.44メガバイト以下になればいいわけですね。

そんなことができるんだろうかと思われるでしょうが、ちゃんとできるんです。圧縮の方法は色々あるのですが、最も簡単な例を示してみましょう。例えば、ファイルの中身が1000個の半角文字 A ばっかりだとすると、1000バイトのファイルですね。ところが、ファイル中身を "Aを1000個" としてファイルに記録するだけで、圧縮ファイルの完成です。たった9バイトになってしまいました。圧縮率100倍以上なんて凄いですね。この場合、元のファイルはいらないから捨てても大丈夫です。

でもこのままでは本来のファイルとしては使えません。そこで、完成した圧縮ファイルに記録されている内容を元に、本来のファイルを再現しなければなりません。このような作業を「解凍」と呼びます。電子レンジでチン!するのと同じ表現ですね。覚えやすいでしょ。このように圧縮したら必ず解凍しなければなりませんが、ちゃんと元通りの内容で再現してくれないと困ります。
 

さて、完全に元通りに再現できないと困るのが殆どですが、実は完全に元通りに再現できない圧縮もあります。だから圧縮を大別すると完全に再現する圧縮と、不完全な再現の圧縮の二種類あります。絶対に完全に再現してくれないと困る物の代表は、プログラムや財務データ、住所録、ワープロ文書など、殆どのデータです。

それに比べて、多少再現性が不完全でも大した問題ではないのが、動画データや音声データ、一部の画像データなどで、以外と限られています。これらのデータは殆どが膨大なために、完全な再現性よりむしろより高い圧縮率が優先されるのです。通信を使ってこれらの膨大な情報を送る場合、とにかくよりコンパクトにして、より速く送ることを優先して、多少の誤差が生じることを犠牲にしています。

例えば、JPEG画像、MPEG動画などが代表的です。インターネットのWWWで見かける写真の殆どがJPEG画像を採用しているのは、よりコンパクトなファイルサイズにして、少しでも速く表示させるためなんです。もしこれがBMP画像だったら、表示するのに約5倍〜10倍以上の時間がかかってしまいます。たまったもんじゃありませんよね。
  

完全な再現性があって汎用性の高い圧縮方法としては、日本で圧倒的に人気がある(利用されている)のが、拡張子に”LZH”が付く圧縮で、アメリカでよく利用されているのは、拡張子に”ZIP”が付く圧縮です。これらの圧縮率はほぼ同程度ですし、機能的にもよく似ています。これらのファイルを見かけたら、必ず解凍してからでないと使えません。

圧縮や解凍をするプログラムのことを、「アーカイバ」なんて呼んだりしますが、何のことだかピン!とこないので、「圧縮・解凍プログラム」って呼んだ方が分かり易いですね。パソコンを使い初めて最初に必要に迫られるのは、おそらく解凍が先だと思います。そこで、Windows95 で動いてくれてコンパクトで使い易い、解凍するだけのフリーソフトをご紹介しておきます。ファイルに直接リンクを張っているので、必要なら直ちにダウンロードできます。

Download LHa & Zip extractor Lhasa ver0.17 for Win32

このフリーソフトは解凍するだけですが、"LZH"と"ZIP"の両方共解凍することができてとっても便利です。自己解凍(圧縮してあるけど、実行するだけで自動的に解凍されるタイプ)形式のプログラムで、実行と同時にインストールが始まります。
 

通常、解凍すると複数のファイルが再現されることが多いので、それらの利用方法の説明や、プログラムの解説のために、たいていドキュメントファイルが含まれているものです。まず、エクスプローラなどを利用して、解凍されたファイルの中から、拡張子が "TXT" や "DOC" のものを探して下さい。多分、"Readme.txt" や "Readme.doc" などが見つかります。そのファイルのアイコンをダブルクリックすると、メモ帳やワードパッドなどで表示してくれますから、ちゃんと読んで下さいね。重要な情報が得られますから。