2010-08-10 40 views

Antwort

22

\r ist "Wagenrücklauf" (CR, ASCII-Zeichen 13), \n ist "Zeilenvorschub" (LF, ASCII-Zeichen 10). Früher hatten Sie zwei ASCII-Zeichen am Ende jeder Zeile, um einem Drucker zu sagen, was zu tun ist - CR würde dem Drucker sagen, dass er zum linken Rand des Papiers zurückkehren soll, LF würde zur nächsten Zeile weitergehen.

Betriebssysteme haben immer noch unterschiedliche Konventionen, wie das Ende einer Zeile aussieht - einige von ihnen haben \n\r, andere haben \n, einige haben \r\n.

In Javascript gehen Sie meist mit \n - das ist, wie Zeichenfolgen in der Regel in die nächste Zeile wechseln. Abhängig davon, mit welchen Zeichenfolgen Sie arbeiten, können Sie jedoch auch auf \r stoßen. Was machst du genau?

+2

Ich kenne keine Plattform oder Protokoll, das '\ n \ r' als neue Zeilenfunktion angibt; Der native Zeilentrenner auf MAC OS vor OS X war '\ r' allein. –

+0

@Alan Wenn Sie möchten, dass wir Ihnen sagen, fragen Sie einfach. :) – bzlm

+0

@bzim: Sie meinen, Sie kennen ein System, das '\ n \ r' ('LFCR',' 0x0A 0x0D') als Zeilentrenner verwendet? Erzählen Sie! –

8

\r Normalerweise stellt eine Wagenrücklaufzeichen (ASCII 0x0d) und \n ist ein Zeilenende-Zeichen (ASCII 0x0a). This page hat eine Liste mit allen Sonderzeichen, der Vollständigkeit halber hier zitiert:

  • \f Streichhölzer form Feed.
  • \r passt Wagenrücklauf.
  • \n entspricht Zeilenvorschub.
  • \t entspricht horizontale Registerkarte.
  • \v entspricht der vertikalen Registerkarte.
  • \0 entspricht NUL Zeichen.
  • [\b] entspricht der Rücktaste.
  • \s entspricht Leerzeichen (Abkürzung für [\f\n\r\t\v\u00A0\u2028\u2029]).
  • \S passt alles außer einem Leerzeichen (kurz für [^\f\n\r\t\v\u00A0\u2028\u2029]).
  • \w entspricht jedem alphanumerischen Zeichen (Wortzeichen) einschließlich Unterstrich (kurz für [a-zA-Z0-9_]).
  • \W passt alle Nicht-Wort-Zeichen (Abkürzung für [^a-zA-Z0-9_]).
  • \d entspricht jeder Ziffer (kurz für [0-9]).
  • \D entspricht jeder Nicht-Ziffer (kurz für [^0-9]).
  • \b passt eine Wortgrenze (die Position zwischen einem Wort und einem Leerzeichen).
  • \B passt eine Nicht-Wortgrenze (Abkürzung für [^\b]).
  • \cX entspricht einem Steuerzeichen. Zum Beispiel: \cm entspricht control-M.
  • \xhh passt das Zeichen mit zwei Zeichen des hexadezimalen Codes hh.
  • \uhhhh entspricht dem Unicode-Zeichen mit vier Zeichen hexadezimalen Code hhhh.
+2

Denken eines alten Schriftstellers manuellen Art ... Wagenrücklauf die aktuelle ‚Position‘ zurück zum Start der Bewegungen Linie. – StuartLC

+1

@Avinash, @nonnb ist korrekt - Wagenrücklauf und Zeilenvorschub sind Begriffe aus den Tagen der Papierterminals; Das Wagenrücklaufzeichen bewegt den Druckkopf zurück zur Spalte Null, und der Zeilenvorschub rückt die Papierrolle um eine Zeile vor. –

+0

'\ 0' gehört nicht dorthin. '\ {number}' ist nur eine oktale Escape-Sequenz. –

5

\n Zeilenvorschub wird

\r Wagenrücklauf ist

In Fenstern, beispielsweise Zeilenenden sind \r\n. In den allermeisten anderen Betriebssystemen sind sie \n.

+1

Nicht ganz richtig. OS 9 zum Beispiel hatte \ r \ n, IIRC. – EboMike

+2

Und ein Mac OS einmal verwendet nur '\ r', IIRC. –

3

\r und \n sind digitale Darstellungen der Art und Weise, wie Sie zur nächsten Zeile einer Schreibmaschine gehen würden. \r ist ein carriage return und \n ist ein newline (auch bekannt als ein Zeilenvorschub). Auf einer Schreibmaschine, um zum Anfang der neuen Zeile zu gehen, würden Sie den Wagen an die am weitesten links Position und dann das Papier eine Zeile zurückgeben.

Unix verwendet \n für eine neue Zeile, Macs vor OS9 \r und Windows \r\n.

1

\n -> Für eine neue Linie

\r -> Für Wagenrücklauf

Verwandte Themen