基礎知識

 割合に説明することが多い事柄を、簡単にここにまとめます。
 量が増えてきたら、マーカーでもつけてみます。
 あと、ここで取り上げて欲しい内容などありましたらご連絡下さい。時間を見て、解説していきたいと思いますんで。

改行コード

 CGIで、特にMacとWinとUnix(Linux)でファイルをやり取りするときに、以外と引っかかってくる内容です。
 改行コードを一言でいうと「一行の終わりを示す、普段は見えない文字」です。これが全てのOSで共通であると非常にありがたいのですが、残念ながらバランバランです。
 現在、大抵の環境で、改行コードを操作できる方法が確立されているかと思います。WinとMacは、テキストエディッタがそれを行ってくれます。UNIX系の人は、Perlあたりでがりがりと処理しましょう(ちなみに、LFが'\n'、CRが'\r'で表現されます、大抵)。
 サーバにデータをあげるときとか、或いはサーバからデータを取ってくるときに、この辺が以外とネックになったりします(特にPerlのCGIとか)。ですので、このあたりはちゃんと意識するようにしておきましょう。

for Windows

 Windowsは、CR-LFと呼ばれ、二つの改行コードがペアになっています。
 UNIXの改行コードもMacの改行コードも、どっちも改行としては認識しません(それぞれ、CRないしLFが足りない)。ので、シンプルなエディタであるメモ帳などで閲覧すると、一行のやたら長い文面になります。ちなみに改行が入るべきところには、黒い四角(昔は豆腐とか呼んでましたねぇ)が存在します。

for Macintosh

 MacはCRのみが改行コードとして使われています。LFは「よくわからない何か」です。
 Winで作られた文書は、ちゃんと読めます。例えばシンプルテキストとかでも。ただ、CR(Macにおける改行コード)の後ろにLFがくっついてくるため、二行目いこう、変な文字が行の先頭にくっついてきます。
 UNIXで作成された文書は、一行のやたら長い文字列として認識されます。

for any UNIX

 UNIXはMacの逆で、LFのみが改行コードとして使われています。
 Winの文書は、各行末に、「^M」という変な文字がくっついてくるかと思います、例えばviとか使ってると。これは、LF(UNIXにおける改行コード)の前にあるCRがそのように表示されています。
 これがMacの文書になると、^Mのみで改行されない、やたら長い一本の文字列になります。UNIXで「一行づつ処理をする」コードを書いている諸氏は要注意です。



戻る 
Copyright 2002 M-Fr Net All Right Reserved
E-Mail:info@m-fr.net