3

重複の可能性:
\rと\nの違いは何ですか?

オペレーティングシステムごとに異なることを理解しています。たとえば、「\ r \ n」はWindowsで期待され、「\ n」はUnixで期待され、「\r」はMacで期待される場合があります。

これら2つ(または「\ r \ n」を含める場合は3つ)のエスケープシーケンスの違いは何ですか?すべてのシステムで一貫していないのはなぜですか?

私はこれについて興味があります。

4

6 に答える 6

31

'\r'と'\n'の違いは3です。

于 2009-08-30T22:41:26.950 に答える
16

そうではないからです。

\rは「キャリッジリターン」を意味します。\nは「改行"改行

一部のシステムは、カーソルを新しい行に移動するために必要なのは。だけであることを示唆するのに十分賢明です\n\r\n他の人は、列の位置もリセットする必要があると主張する可能性があるため、移動する方が適切であると考えています(つまり、 \r)。

時々、コンピューティングでは物事は「まさにこのように」なります。これはそれらのケースの1つです:)

于 2009-08-30T22:36:20.627 に答える
7

受け入れられた答えは正確ではありません。実際のところ、\nは「改行」ではなく「改行」を意味します。どちらの記号も、CRTやLCDではなく、コンピューターの主要な出力としてテレタイプの時代に耳を傾けているため、この区別は重要です。テレタイプの場合、プリントヘッドを列1に戻す動作と、用紙を1行上に送る動作は2つの異なる動作でした。ファイル内の行末文字の異なる規則の起源に関して、他の回答は、これが単なる歴史的な好奇心であることを正しく指摘しています。

于 2009-08-30T23:12:27.637 に答える
4

各オペレーティングシステムメーカーが行った歴史的な決定のため、一貫性がありません。違いについては、ここの文字12と15を参照してください:http ://www.asciitable.com/

于 2009-08-30T22:35:06.060 に答える
3

ウィキペディアはあなたの友達です:)

于 2009-08-30T22:34:33.423 に答える
2

一部のシステムには、行末の概念すらありません。VAX /VMSおよびIBMVMオペレーティングシステムはすべて、行末マーカーが不要なレコードベースのファイルをサポートしています。

于 2009-08-30T22:38:32.650 に答える