2003 CNS GUIDE
copyright
 

4.2 ファイルの記述方法

作成されたデータをファイルに保存する際には,人間が読めるような記述方法ではなく,コンピュータが理解できる形で記述します. その記述方法にはいくつかの種類があります.

4.2.1 テキストファイルとバイナリファイル

ファイルはデータの記述方法から``テキストファイル''と``バイナリファイル''の2種類にわけられます. ファイル転送の際にもこれらの違いに対して 注意が必要となります.

テキストファイルでは 文字をコードのままデジタルデータに直して記述します. 文字とスペースやタブ,改行などの情報を デジタルデータとして保存します. 特に欧米のような1Byteの文字コードを用いているところでは``ASCIIコード''と いうコードを用いて 表記することが一般的なのでテキストファイルを ``ASCIIファイル''ともいいます. Emacsなどのテキストエディタでテキストファイルを開いた場合,人が見ても 理解できる形でファイルの中身が表示されることになります.

バイナリファイルとはテキストファイル以外の形で保存されたものです. 作成したアプリケーション独自の情報などをコンピュータに理解できる形にして 保存しています. Emacsなどのテキストエディタでバイナリファイルを開いた場合,人間が見ても理解しにくい形でファイルの中身が表示されます. そのため,対応したアプリケーションで処理をする必要があります.

4.2.2 文字コード

ファイルに書かれた文字情報もデジタルデータとして 数値で表現した番号によって記述されます. このように文字を番号として表現する際の,文字と番号の対応の規則を一般に``文字コード''といいます. 文字コードは,各言語で利用される文字体系にあわせた文字の集合と,それぞれの文字に対する番号を割り振る規則から決まります. この文字集合や規則にはさまざまな種類があるため,さまざまな文字コードが利用されています. OS やアプリケーションによって利用できる文字コードが 異なる場合もあるので,ファイルの転送の際などには注意が必要です. アプリケーションによっては複数の文字コードに対応しており,また文字コード相互間での変換を行うことができるアプリケーションもあります. 文字コードは,アプリケーションによっては,``エンコード'',``Encoding Scheme'',``Coding-system'' ともいいます.

一文字あたりのデータ量の大きさは, 利用する文字コードが表現できる文字の種類によって変わってきます. 一般に,英数字と記号のみを表現する文字コードは,文字の種類が多くても 数百文字程度であり,1文字あたり 1Byteで表現します. しかし,日本語などは数千から数万字を区別して表現する必要があるため, 1文字あたり 2Byte 以上を使って表現されています.

日本で使われている代表的な文字コードには次のようなものがあります.

OS が主として扱う日本語の種類はOS によって異なり,UNIX ではJIS (ISO-2022-JP)形式 またはEUC-JP,Windows やMac OS ではShift-JIS が利用されています. したがって,異なるOS へ日本語を含むファイルを転送し,転送先でそのファイルを開くと正しく 文字コードを処理できない事があります. 正しく文字コードを処理できない場合にファイルを閲覧すると,正しく文字を表示できません.この事を``文字化け''といいます. 文字化けを直すには,UNIX に用意されているnkfコマンドを利用し て,ファイルを見る環境に適した文字コードに変える必要があります. nkfコマンドの使い方は[*] を参照してください. テキストエディタでファイルを開き,文字化けを起こしている状態で そのファイルを保存すると文字化けした情報がファイルに保存されるため,修復することはできなくなります.

4.2.3 改行コード

テキストファイルの改行をデータとして記述するには `CR'(Carriage Return),`LF'(Line Field)の二種類があり,OS によって異なります. UNIX ではLF,Windows ではCR+LF,Mac OS では改行をCR として示します. 異なるOS 間でテキストファイルのファイルを転送する際は注意する必要があります.