Windows Wagenrücklauf wird \r\n
unter \n
Unix \r\n
als zwei Zeichen behandelt?
carriage-return
Oh Chin Boon
quelle
quelle
Eigentlich
\r is 0x0D (^M) and \n is 0x0A (^J)
aber ..... unter Windows:unter Unix:
quelle
stdout
als Binärdatenstrom anstelle eines Textstroms würde dazu führen\n
, dass die Sohle0x0A
nicht unter0x0D 0x0A
Windows geschrieben wird. Siehe die Antwort von @FredFoo.Kommt auf die Einstellung an.
\r\n
ist zwei Bytes breit (in ASCII, UTF-8 usw.), aber E / A-Bibliotheken wie die C-stdio
Bibliothek und andere können im Textmodus zwischen\n
und\r\n
quasi transparent übersetzen.Dh auf einer Windows-Plattform ein C-Programm, das einen Textmodus-Stream
txt_in
mit liestmeldet den ASCII-Code für nicht
\r
. Umgekehrtputc('\n', txt_out)
wird tatsächlich\r\n
in den Textmodus-Stream geschriebentxt_out
.quelle
Windows unterscheidet nicht zwischen
\r\n
zwei anderen Zeichen. Es gibt jedoch eine Situation, in der es als ein Zeichen behandelt wird: Wenn Sie die C-Laufzeit verwenden und eine Datei als Text öffnen, wird\r\n
die Datei als gelesen\n
und\n
in die Datei als geschrieben\r\n
.quelle
Ja, es sind zwei Zeichen: Wagenrücklauf '\ r' gefolgt von Zeilenvorschub '\ n'.
quelle
Ich führte einige Tests (nichts Besonderes) mit Notepad ++ und Sublime Text 2 auf Windows, und es stellt sich heraus , dass
\r
und\n
in der Tat zwei unterschiedliche Charaktere sind, aber ...Verschiedene Texteditoren werden möglicherweise eingefügt oder nicht,
\r
wenn die Eingabetaste gedrückt wird.Versuchen Sie Folgendes in Ihrem Texteditor:
Drücken Sie dann Strg + F , aktivieren Sie reguläre Ausdrücke und suchen Sie nach
\r
. Abhängig von Ihrem Texteditor und seinen Einstellungen können Sie am Ende jeder Zeile ein Zeichen "treffen" oder "nicht treffen". Wenn der obige Text aus einem anderen Editor kopiert wird, kann sich auch das Verhalten unterscheiden ...Einige Texteditoren ermöglichen Anpassungen in ihren Einstellungen, in dem Sie festlegen können , wenn Sie es vorziehen ,
\r\n
oder Unix-Stil\n
eingeführt werden , wenn Sie die Taste Return . Darüber hinaus können Sie möglicherweise festlegen , dass ein konsistenter Stil erzwungen werden soll, indem Sie das\r
Zeichen entfernen oder einfügen , bevor Sie eine Datei speichern.quelle