スキップしてメイン コンテンツに移動

CR CR+LF 改行コードの話

キャリッジ・リターン(carrige return,CR) とライン・フィード(Line feed, LF)

 Unix では、通常ライン・フィード(ニュー・ライン、New Line, NL と呼ばれ ることもある)

 '\r' がキャリッジ・リターン、'\n' がライン・フィードである。

使用されるコード

一般的に、改行コードは次の2種類のコードのどちらか、もしくは組み合わせであらわされます。
記号 呼び名、別名 ASCIIコード マッチング
LF ラインフィード(Line Feed)、ニューライン(New Line) 0A \n
CR キャリッジリターン(Carriage Return)、リターン(Return) 0D \r


◆CR-LF

HTTP, finger, SMTP, NNTP など、インターネットで使われている 通信プロトコルの多くでは、行末を表す記号として、 キャリッジ・リターン(carrige return,CR) とライン・フィード(Line feed, LF)の両方が必要であると定められている。 Unix では、通常ライン・フィード(ニュー・ライン、New Line, NL と呼ばれ ることもある)だけが行末の記号として使われる。よって、画面に文字列を表 示し、改行したい場合は、次のようなプログラムが使われる。
printf("Hello,world\n");
しかしながら、インターネットの上のプログラムを作成する時には、次のよう にしなければならないことが多い。
printf("Hello,world\r\n");
ここで、'\r' がキャリッジ・リターン、'\n' がライン・フィードである。い ずれも、C言語のソース・プログラム上では2文字に見えるが、Cコンパイラ により、1文字に変換される。それぞれ、アスキーでは、13(0x0d), 10(0x0a) である。 規格上は、CR-LF が必要とされているが、実際にプログラムを作る時には、LF だけでも動くことがある。しかし、それはたまたまその特定のサーバのプログ ラムが良くできていて、LF だけでも動くようになっているからである。

http://www.coins.tsukuba.ac.jp/~yas/coins/syspro-2001/2001-05-21/crlf.html
http://ash.jp/code/return.htm

コメント

このブログの人気の投稿

Filter Design for Signal Processing using MATLAB and Mathematica M. D. Lutovac, D. V. Tosic, B. L. Evans

http://tesla.rcub.bg.ac.rs/~tosicde/afdhome.htm Advanced Filter Design for Signal Processing using MATLAB and Mathematica authored by Miroslav D. Lutovac , Dejan V. Tosic , and Brian L. Evans Contents Foreword Download software in MATLAB (zip compressed M-files): Advanced Filter Design afdesign.zip 43 Kb Gallery of Advanced Filter Design Design Space afdspace.zip 21 Kb Gallery of Design Space Album of Analog Filter Realizations afalbum.zip 44 Kb Gallery of Analog Filter Realizations Album of SC Filter Realizations scalbum.zip 22 Kb Gallery of SC Filter Realizations View most typical screens at AFD gallery . See also: Asilomar'97 conference paper on Advanced Filter Design . (zip compressed postscript/pdf file 156 Kb)