テキストファイル(その2)

 前回に引き続き、テキストファイルについてのお話をします。今回はテキストファイルの中身です。

 テキストファイルの中身といっても、ピンとこないと思いますが、要は文字の羅列であるテキストファイルにもちょっとした約束事があるということです。

(1) 文字コードと改行コードが異なるテキスト

 まずは、見た目的には全くわからないが、使うソフト側にとっても大事な約束事です。それが文字コードと改行コードです。

 文字コードは、前々回の文字コードでお話ししたように、Shift JISやEUC-JP、UTF-8など様々な体系があります。そのため、ソフト側でそのコードに対応できていないと文字化けと呼ばれる現象が起き、中身が判読不能になります。さらにこの状態で編集、保存を行うと文字化けの状態で保存され、情報としては役に立たなくなります。

 改行コードは、その名の通り、行を改めるために使われている文字コードで、メモ帳のような簡易なソフトではその存在すらわかりません。この改行コードもすべて共通ならよかったのですが、残念ながら組み合わせで3種類存在します。実際は利用するソフト側の条件によりますが、標準的には基本ソフト(OS)で分かれます。

 具体的には

 Windowsの場合、 CR(13)+LF(10)の2つで一セット
 UNIXの場合、LF(10)が1つ(Linuxもこれ)
 Macの場合、CR(13)が1つ(ただし、Mac OS XはUNIX)

です。ここで、CRは(Carriage Return)、LFは(Line feed)の略で、行頭復帰と行送りを意味します。おまけの話をすると、Carriageはタイプライターの紙の固定装置でこれを元の位置に戻す操作がCarriage Return、その後、新しい行に移動するのがLine feedでここから由来しています。つまり、CRで横移動、LFで縦移動、これを一セットで改行となっています。しかし、1個でも基本ソフト側が理解すればいいわけで、UNIXとMacはそれぞれのコードで改行とし
たようです。

 どの改行コードを使うかでソフトの誤動作が起きることがあります。特にWindows環境で作った設定ファイルをLinuxで動くサーバーに転送した場合などにサーバーソフトが起動しないといったケースがよくおきます。とはいえこんな作業をする人はあまりいないでしょうから、文字コードほど気にしないでいいかもしれません。ちなみにUNIX形式のテキストファイルをWindowsのメモ帳で開くと改行が無視された形で一行になって表示されます。

(2) マークアップ言語等の記述ルールがあるテキスト

 こっちは少し難しいですが、みなさんは自然と目にしているか、利用しているものです。代表格はWebサイトのページを構成しているHTMLです。ほかにも公共工事では欠かせない電子納品の管理ファイルとして使われているXMLです。マークアップ言語ではありませんが、似たようなものにWebページの見た目を決めるCSSというものもあります。ちなみにマークアップは出版業界で印刷指示の記号を書き加える作業のことらしいです。

 上記のファイルはすべてテキストファイルでできており、記述ルールに従っていないと利用するソフト側でうまく表示されません。テキストで見れることから安易に追加や修正をするとカッコを余分につけたり、文字区切りがなくなったりとすることがあるので、注意して扱う必要があります。

(3) 区切り文字に意味があるテキスト

 エクセルや市販ソフトでテキストファイルを扱う場合は区切り文字が重要となります。代表的なものはカンマ(,)区切りファイルですが、タブ区切りやスペース区切りといったものや文字数(固定長)区切りといったものもあります。

 区切り内の文字なしを許すのか、ダミーでゼロ等の数字やスペース等が必須なのかなど使うソフトによってルールが微妙に異なります。特に会計ソフト等の業務ソフトに読み込ませるようなときにはバックアップをとってから行うなど十分な準備が必要です。

 少し自分の過去の失敗を思い出しながらお話ししましたが、テキストファイルといっても、メモ書きだけではないというのがなんとなくわかっていただければ幸いです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする