はい、はい、'\n'
UNIXには改行を書くのに対して、Windowsには次の2つの文字シーケンスがあります'\r\n'
。これはすべて理論上非常に良いことですが、私の質問はなぜですか?Windowsで復帰文字が余分なのはなぜですか?UNIXがそれを行うことができる場合\n
、Windowsがこれを行うのに2文字を要するのはなぜですか?
私はデビッド・ビーズリーのPython本を読んでいて、彼はこう言っています:
たとえば、Windowsでは、文字「\ n」を書き込むと、実際には2文字のシーケンス「\ r \ n」が出力されます(ファイルを読み戻すと、「\ r \ n」は単一の「\ n」に変換されますキャラクター)。
なぜ余分な努力が必要なのですか?
私は正直になります。私は長い間違いを知っていましたが、なぜ尋ねるのを悩ませたことはありません。今日はそれが答えられることを願っています。
御時間ありがとうございます。
System.out.printf()
またはString.format()
)を使用する場合%n
は、OSの互換性のためにCRLFとして使用してください。\n
非推奨です。
\n\r
何回か見ました。(NetWareからのものだと思います。)
\r\n
。また、ほとんどのテキストベースのインターネットプロトコル(SMTP、HTTPなど)でも、Windowsとほぼ同じ理由(つまり履歴)で使用されています。