• 締切済み

\r\nと\nの違い?

よくメールフォームの本文部分やヘッダー部分の改行などで\r\n又は\nが使用されていますが、\r\nと\nは何が違うのでしょうか? どちらも通常の改行のように思えますが。 よろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

回答No.2

\r\n 自体は#1さんが説明されていますが なぜそれをメールの改行で使うかと言えば RFCでそうなっているから http://manual.xwd.jp/function.mail.html または 「RFC2822 和訳」などで検索すると出てきます http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja:official&hs=H3Y&q=RFC+2822+%E5%92%8C%E8%A8%B3&revid=1629231911&sa=X&oi=revisions_inline&resnum=0&ct=broad-revision&cd=3

kitty1000
質問者

補足

umasikajiroさん ご回答、ありがとうございました。 下記のyambejpさんの回答への補足をご覧下さい。 この理解であってますか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

一般に\r\nがDOS/Windowの改行、\nがUNIX系の改行 厳密には\rは「復帰」コード。 バイナリエディタなどで確認するとわかります。 http://ja.wikipedia.org/wiki/%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89

kitty1000
質問者

補足

yambejpさん ご回答、ありがとうございました。 こちらの理解からすると、「\r\n」と「\n」はWindowsにおいては同じ意味。ただし、OSがUnixの場合も考え、「\n」よりは「\r\n」の方がよいということでしょうか? また、「\r\n」と「\n」は改行で、「\r」は復帰。 上記の理解であっているでしょうか?

関連するQ&A

  • RE:\r\nと\nの違い?

    下記スレッド http://oshiete1.goo.ne.jp/qa4126744.html で以下のような質問をしていたのですが、 <質問開始> よくメールフォームの本文部分やヘッダー部分の改行などで\r\n又は\nが使用されていますが、\r\nと\nは何が違うのでしょうか? どちらも通常の改行のように思えますが。 <質問終了> 途中で質疑応答が途切れてしまいました。 上記の質問への回答から、私の理解は以下のようになりますが、私の理解は正しいのでしょうか? <私の理解開始> こちらの理解からすると、「\r\n」と「\n」はWindowsにおいては同じ意味。ただし、OSがUnixの場合も考え、「\n」よりは「\r\n」の方がよいということでしょうか? また、「\r\n」と「\n」は改行で、「\r」は復帰。 <私の理解終了> お分かりの方おられましたら、私の理解が正しいか判定をお願いします。

    • 締切済み
    • PHP
  • RE:\r\nと\nの違い?

    下記スレッド http://oshiete1.goo.ne.jp/qa4137451.html で以下のような質問をしていたのですが、 <質問開始> よくメールフォームの本文部分やヘッダー部分の改行などで\r\n又は\nが使用されていますが、\r\nと\nは何が違うのでしょうか? どちらも通常の改行のように思えますが。 <質問終了> 途中で質疑応答が途切れてしまいました。 上記の質問への回答から、私の理解は以下のようになりますが、私の理解は正しいのでしょうか? <私の理解開始> TinyPineさん ご回答、ありがとうございました。 つまり、PHPにおけるmail関数のメッセージ組み立て部分では、改行はつねに「\n」ではなく、「\r\n」で記述するべきということですか? また、PHPにおけるmail関数のメッセージ組み立て部分で、メッセージの行間に間をあけたくない場合、\r(復帰)で改行すればよいのでしょうか?「\r\n」又は「\n」では、行と行の間に一行空白ができてしまいますが? <私の理解終了> お分かりの方おられましたら、私の理解が正しいか判定をお願いします。

    • ベストアンサー
    • PHP
  • \nと\rの違い

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

    • ベストアンサー
    • PHP
  • 複数行の文字列をメールのヘッダーに入れて送る方法?

    どなたか複数行の文字列をメールのヘッダーに入れて送る方法しっていますか? 例: $test = "今からテストメールを送信します。\n用意はいいですか?"; $mail_header .= "X- TEST: {$test}\r\n"; 上記のような文字列をメールのヘッダーに入れて送ると「今からテストメールを送信します。」部分はX- TEST:のヘッダーの中に納まりますが、「用意はいいですか?」部分がメールの本文の上部にはみ出してしまいます。ヒアドキュメントも試しましたが、文字列の改行部分以降がメールの本文の上部にはみ出してしまいます。 やはり、一行につき一つのヘッダーが必要なのでしょうか? このスレッドの質問に関して詳しい情報が記載されているサイトのURL等、ご存知でしたら、そちらもお願いします。

    • 締切済み
    • PHP
  • サクラエディタで連続改行”\r\n”を置換

    サクラエディタで連続する改行”\r\n”を置換したいです。 \r\n\r\n で置換しても、 量子指定で {\r\n\r\n}+ で置換しても、 \r+\n+\r+\n+ で置換しても、 うまくいかないのです。

    • ベストアンサー
    • Perl
  • R^∞とR^NとR^ωと∪[n=1,∞]R^nの違いは?

    1次元空間をR、 2次元空間をR^2とします。 それを続けて、先にある空間を考えたいとします。 そのとき、 R^∞とR^NとR^ωと∪[n=1,∞]R^nの違いはなんですか? たしか微妙な違いがあったと思いますが、整理できていないので、ご教示ください。

  • PerlでHTTPヘッダの\nを外すとエラー

    【PerlでHTTPヘッダの最後の\nを1つでも外すとエラーになります】 初歩的なことですみません。 HTTPヘッダーの最後の\n\nなんですが、ヘッダーの文字列の後に改行が2つ?? と思って この\nを外して、 print "content-type:text/html;charset=utf-8"; とすると、「500 Internal Server Error」 print "content-type:text/html;charset=utf-8\n"; と\nが1つでも 「500 Internal Server Error」 となります。 「\n\n」と2つあればエラーにはならないんですが、なぜ必ず2つ必要なのでしょうか?これは改行が2つって意味ですかね? print "<html>\n"などの\nはソース上やコンソール出力結果上での改行なのはわかります。 この\nは改行したくなければ書かなくてもエラーになりませんよね。(当たり前ですが・・ #!/usr/bin/perl print "content-type:text/html;charset=utf-8\n\n"; ←HTTPヘッダーの\n\n print "<html>\n"; print "<body>\n"; print "<p>テキスト</p>\n"; print "</body>\n"; print "</html>\n";

    • ベストアンサー
    • Perl
  • 改行コードについて

    ファイルの文字コードはutf-8で改行コードはLFです。 メール送信時にメール文面の一部にいれるテキストを mysqlに保存しています。 メール送信のソース内でデータを読み込み送信までは できているのですが改行コードを変換したく $msg = str_replace("\r\n", "\n", $msg); とやってみましたが改行されず普通に\r\nと表示され うまく変換ができません。 いろいろと試した結果以下のソースでは正常に改行されました。 $msg = str_replace("\\r\\n", "\n", $msg); メール送信前にデバッグでしてみましたが読み込むデータの 改行部分は\r\nとなっているのは確認済みです。 \を多くつければ改行はできるようなのですがこれは仕様なの でしょうか? またmysqlに入れてあるデータはフォームから入力し登録 しているのですがLFの改行コードは\nなので登録時に\r\nではなく \nと変換してからmysqlに登録するのがいいものなのでしょうか?

    • 締切済み
    • PHP
  • perlで、[ \r\n , \n ]の意味は?

    シンプルなCGI掲示板の勉強中ですが、 $message =~s/[ \r\n , \n ]/<br \/>/g; となっており、 これは改行文字を<br />に置き換えるのだそうですが、 [ \r\n , \n ]の部分というのはどういった意味でしょうか。 [ abc ]だと、a,b,cのうちどれか1文字は入っていれば良いですよね。 [ ]に「,」が入るとよく分からなくなります。 お分かりの方、教えてくださいませんか。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • 0<R<1 であるRについて、(2-R)^n/(2-R^n) >1を証

    0<R<1 であるRについて、(2-R)^n/(2-R^n) >1を証明したいのですが? n>=1の整数です。

専門家に質問してみよう