• ベストアンサー

\nと\rの違い

\nは改行で\rは復帰とのことですが,どっちも改行してるように思えます。 復帰とは何なんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.5

>PHPのエスケープシーケンスには\nと\rがありますが,改行を行いたいときはどちらを使用しても問題ないということでしょうか。 >それとも,ひょっとしてWindowsで実行するときは\r\nを使用しないと改行できないということですか?? 基本的には、"\r\n"ですが、処理する内容にもよりけりではないかと???。 ブラウザで表示するような場合、"\r"も"\n"も意味をなさないので、HTMLタグの<BR>に置き換える処理が必要ではないかと・・・。

zyousuke
質問者

お礼

なるほど、\nや\rを記述してもホームページのソースコードが改行されるだけで、ホームページの文章に改行を入れたいときは<BR>を記述しなければいけないのでした。 PHPの改行コードはホームページそのものではなく、ホームページのソースコードを見やすくするために使用するものなのですね。

その他の回答 (4)

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.4

#3です。 #2さんが言われる通り、 LF(改行)は、次の行の、今の位置という ことです。

zyousuke
質問者

お礼

分かりました。 ありがとうございます。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.3

#2さんが、正しいと思います。 すみませんでした。

zyousuke
質問者

お礼

すみませんでしたなんて,とんでもない。 昔のラインプリンターでは復帰コードを使用して重ね印刷が出来たのですね。 そして誤り部分は改行というのは本来次行のトップではなく次行の同じ位置に移動するということでしょうか。

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.2

元々は、どちらも機械式『タイプライター』の名残りです。 機械式『タイプライター』では、『印字ヘッド』を移動する動作について、 改行(LF:Line Feed):同じヘッド位置で、1行下に移動する動作。左端には移動しない。(コンピュータの場合には、ASCIIコード0x0A) 復帰(CR:Carriage Return):同じ行の左端に移動する動作。(コンピュータの場合には、ASCIIコード0x0D) と呼んでいて、1行下の左端に移動する所謂『改行』は、[CR]+[LF]だったのですが、コンピュータの場合には、OSによって、 MS-DOS、Windows:CR+LFで所謂『改行』(1行下の左端に移動) Unix:LFだけで所謂『改行』 Mac:CRだけで所謂『改行』 という扱いになっています。 『ASCII 24 デジタル用語辞典:改行コード』 http://yougo.ascii24.com/gh/59/005930.html

参考URL:
http://yougo.ascii24.com/gh/59/005930.html
zyousuke
質問者

お礼

deadlineさん,ご回答ありがとうございます。 WindowsはタイプライターのCR+LFと矛盾のない改行コードを採用。 マックやユニックスは1バイトで改行を実現するために,あえてLFやCRだけの改行コードを採用 といったところでしょうか。 PHPのエスケープシーケンスには\nと\rがありますが,改行を行いたいときはどちらを使用しても問題ないということでしょうか。 それとも,ひょっとしてWindowsで実行するときは\r\nを使用しないと改行できないということですか??

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

昔のラインプリンターの制御コードと 関わりがあると思われます。 改行とは、次の行のTOPへ移動。 復帰とは、今の行のTOPへ移動。 復帰を使えば、文字の重ね印刷が できるのです。 Unix系と、Win系で、「¥n」 「¥n¥r」と異なっていたと思い ます。

関連するQ&A

専門家に質問してみよう