#052 テキストファイルのススメ(前編)

1999/03/11

<前目次次>


 というわけで、私も普段はたくさんのデータファイルを作ったり受け取ったり整理したりしながらコンピュータを使っているわけであるが、私はほとんどのデータをテキストで保存している。言い換えれば、ワープロや表計算などのアプリケーションの独自フォーマットのデータファイルをあまり使わない。

 前回もちょこっと触れたが、コンピュータの扱うファイルは大別して「テキストファイル」と「バイナリファイル」という具合に区別できる。この区別は厳密にやろうとすると非常にややこしくなってしまうのだが、あえて簡単に言いきってしまうと、人間が直接見てわかるファイルがテキストファイルである。「人間が直接見てわかる」という定義も曖昧なのだが、端的に言えば「MS-DOSならtype、UNIXならcatなどのコマンドでファイルの中身を画面に表示した時に、それを見て意味がわかる」ということである。

 従ってその逆、すなわち、人間が直接見てもわからないデータを含むファイルはバイナリファイルということになる。プログラムファイルや画像ファイルなどは当然それにあたるが、ワープロや表計算などのアプリケーションが作ったデータファイルも通常それにあたる。

 テキストというものは基本的に人間が使う文字や記号と、若干の制御文字(改行、タブ、スペースなど)のみで構成されている。そのため、テキストの文書ファイルの場合、書式情報やフォント・強調・斜体・下線文字などはファイルに含まれない。またテキストの表データは、通常区切り文字(コロン "," やタブなど)でデータを区切った単なるデータの羅列になっており、計算式などの情報は含まれない。これらの情報がないとデータを処理する際に何かと不便である場合もあるが、しかしそれでも大半のデータはテキストで保存しておく方が都合がいいのである。なぜか。

 まずアプリケーションの作ったデータは、そのアプリケーションがなくては読み出すことができない、ということが理由として挙げられる。アプリケーションの作るデータファイルは、それぞれ独自のフォーマットを持ったバイナリファイルであるため、それらはそのアプリケーションのない環境では参照したり編集したりすることができない。また同じアプリケーションであっても、新しいバージョンで作ったデータファイルは、古いバージョンでは読めなかったりする。最近では、例えばWordと一太郎など、互いに相手のアプリケーションが作ったデータファイルを読めるようにしていたりもするが、それらにしても、互いにバージョンアップを繰り返すうちにデータ形式が変わり、相手のアプリケーションの新しいフォーマットのデータファイルは読めなくなってしまう場合が多い。そしてその度に、また自分もバージョンアップして相手のデータファイルに対応しようとするという、無用なイタチごっこを繰り返していたりする。

 その点テキストファイルの場合は、ほとんどどんなアプリケーションでも読み込んで編集することが可能である。テキストファイルへの書き出しも普通のアプリケーションなら可能になっている。つまりどんな環境でも参照・編集が可能であり、非常に汎用的なのである。

 またテキストファイルはデータそのものだけを保存しているため、ファイルサイズが小さくてすむ。かたやアプリケーションの作るデータファイルは、何等かの付帯情報を含んでいるため、その分ファイルサイズが大きくなるのである。それどころか、最近はアプリケーションそのものも、それらが作るデータファイルも異常に大きくなってきている。前にも少し話したが、わずか1枚紙程度のWord97の文書ファイルが1Mbyte近くにもなったりすることもあるそうである。いったいどんな保存形式を採用すればそこまで大きなファイルにできるのだろうか。FD1枚に入らないようなデータファイルは持ち運びにも不便で扱いにくくてしょうがない。しかもそんなものを添付ファイルとしてメールで送られては、不意に送られた方はたまったものではない。

 またテキストファイルは「見ればわかる」データであるため、何かの事故で目的のファイルを見失った場合でも、探し出しやすいということがある。ファイルには適切な名前をつけるのが常であるが、あとで見てわかりやすい名前をつけておかないと、他のファイルの山に埋れて簡単に見失ってしまう。しかしテキストファイルであれば中身を「見ればわかる」ので、比較的目的のものを探し出しやすいのである。複数のファイルから目的の文字列を持ったファイルを探し出すようなツールもあるが、バイナリファイルの場合はそれらのツールを使って探索することは通常できない。中にどんなデータが含まれているのかは、そのファイルを作ったアプリケーションにしかわからないからである。

 更に何かの事故でファイルシステムが壊れ、データの一部が分断し散逸した場合でも、テキストファイルならばそのファイルの断片を「見てつなぐ」ことも可能である。バイナリファイルの場合は「見てもわからない」ので、一度事故があったら復活させるのはほとんど不可能である。つまりテキストファイルは事故にも強いのである。

 このようにテキストファイルにはバイナリファイルにはない多くの利点があるのだが、テキストファイルの効能はこれだけにとどまらない。その続きは後編に譲る。


<前目次次>