Ich kann mich einfach nicht daran erinnern. Was ist also der richtige Weg, um altmodische ASCII-Leitungen ordnungsgemäß zu beenden?
Ich kann mich einfach nicht daran erinnern. Was ist also der richtige Weg, um altmodische ASCII-Leitungen ordnungsgemäß zu beenden?
Antworten:
Ich würde das Wort ' r etur n ' verwenden, um mich zu erinnern, das r kommt vor dem n.
\n\r
und \r\n
ist der gleiche Effekt , machen sie nicht den gleichen Effekt? Kannst du den Unterschied erkennen?
Wenn Sie C # verwenden, sollten Sie Folgendes verwenden Environment.NewLine
: Laut MSDN ist dies:
Eine Zeichenfolge mit "\ r \ n" für Nicht-Unix-Plattformen oder eine Zeichenfolge mit "\ n" für Unix-Plattformen.
Environment.NewLine
ist dies in Ordnung. Wenn Sie jedoch Dinge in einem genau definierten Format schreiben, definiert das Format möglicherweise auch die neue Zeile. So heißt es in dem HTTP - Protokoll Sie müssen verwenden \r\n
als Leitungsabschluss für Header usw., unabhängig von der Plattform.
Die neue Zeile hängt von Ihrem Betriebssystem ab:
DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13
Weitere Details hier: https://ccrma.stanford.edu/~craig/utility/flip/
Verwenden Sie im Zweifelsfall einen beliebigen Freeware-Hex-Viewer / -Editor, um zu sehen, wie eine Datei ihre neue Zeile codiert.
Für mich, ich benutze Leitfaden zu Hilfe folgende erinnere mich: 0D0A = \ r \ n = CR, LF = ca rr iAge r eturn, li n e - Feed
0D0A
auswendig wissen , aber dennoch das \r
und verwirren \n
.
Die Sequenz ist CR (Wagenrücklauf) - LF (Zeilenvorschub). Erinnern Sie sich an Nadeldrucker? Genau. Also - die richtige Reihenfolge ist \ r \ n
In jeder .NET-Sprache Environment.NewLine
wäre dies vorzuziehen.
Seien Sie vorsichtig, wenn Sie dies manuell tun.
In der Tat würde ich raten , dies überhaupt nicht zu tun.
In Wirklichkeit handelt es sich um die plattformspezifische Leitungsabschlusssequenz LTS.
Wenn Sie eine Datei im Textmodus öffnen (dh nicht binär), konvertieren die Streams das "\ n" in das richtige LTS für Ihre Plattform. Konvertieren Sie dann die LTS zurück in "\ n", wenn Sie die Datei lesen.
Wenn Sie "\ r \ n" in eine Windows-Datei drucken, erhalten Sie die Sequenz "\ r \ r \ n" in der physischen Datei (schauen Sie mit einem Hex-Editor nach).
Dies ist natürlich ein echtes Problem beim Übertragen von Dateien zwischen Plattformen.
Wenn Sie jetzt in einen Netzwerk-Stream schreiben, würde ich dies manuell tun (da die meisten Netzwerkprotokolle dies speziell ausrufen). Aber ich würde sicherstellen, dass der Stream keine Interpretation ausführt (daher war der Binärmodus angemessen).
\r\n
für Windows wird gut tun.
\n
funktioniert auch unter Windows, einschließlich der neuesten Version von Notepad.
Aus Wikipedia (Sie können in diesem Artikel lesen, welches für Ihr Betriebssystem korrekt ist):
Systeme, die auf ASCII oder einem kompatiblen Zeichensatz basieren, verwenden entweder LF (Zeilenvorschub, '\ n', 0x0A, 10 in Dezimalzahl) oder CR (Wagenrücklauf, '\ r', 0x0D, 13 in Dezimalzahl) einzeln oder CR gefolgt von CR LF (CR + LF, '\ r \ n', 0x0D0A).
\r\n
Seltsamerweise erinnere ich mich daran, weil es das Gegenteil der Schreibmaschine ist, die ich benutzt habe.
Nun, wenn es normal war, musste ich mich nicht daran erinnern ...:-)
Wenn Sie mit dem Ziffern der Linie fertig sind, verwenden Sie in der Schreibmaschine den Wagenrücklaufhebel , mit dem Sie die Trommel und die neue Linie rollen lassen und anschließend den Wagenrücklauf manuell bedienen können .
Sie können von dieser Aufnahme auf freesound.org den Ton des Papiereinzugs am Anfang und etwa -1: 03 Sekunden nach dem Ende nach der Glockenwarnung für das Ende des Line-Sounds der Trommel, die rollt und danach, anhören der der Wagenrücklauf.