Ich verstehe den Unterschied zwischen den beiden, so dass es nicht nötig ist, darauf einzugehen, aber ich frage mich nur, was die Gründe dafür sind, warum Windows sowohl CR als auch LF verwendet, um einen Zeilenumbruch anzuzeigen. Es scheint, dass die Linux-Methode (nur mit LF) viel sinnvoller ist, Platz spart und einfacher zu analysieren ist.
85
Antworten:
Historisch bei der Verwendung
NadeldruckerDie Teletypen CR würden den Wagen an die erste Position der Linie zurückbringen, während LF zur nächsten Linie führen würde. Durch die Verwendung von CR + LF in der Datei selbst konnte eine Datei ohne Druckertreiber direkt an den Drucker gesendet werden.Vielen Dank an @zaph, der darauf hinwies, dass es sich um Teletypen und nicht um Nadeldrucker handelte
quelle
@sshannin hat eine URL aus Raymond Chens Blog gepostet, aber es funktioniert nicht mehr. Das Blog hat seine interne Software geändert, sodass sich die URLs geändert haben.
Nachdem ich die alten Beiträge im neuen Blog durchgeblättert habe, habe ich sie hier gefunden .
Zitat aus dem Blog:
Ich habe diesen zweiten Link in einen Schnappschuss in The Wayback Machine geändert, da die eigentliche Seite nicht mehr verfügbar ist.
Ich hoffe das beantwortet deine Frage.
quelle
Es kommt von den Fernschreibern (und Schreibmaschinen) aus früheren Tagen.
Früher war es so, dass Sie, wenn Sie mit dem Schreiben einer Zeile fertig waren, den Wagen der Schreibmaschine (der das Papier hielt und beim Tippen nach links rutschte) zurück zum Zeilenanfang (CR) bewegen mussten. Sie mussten das Papier dann eine Zeile nach unten (LF) bewegen, um zur nächsten Zeile zu gelangen.
Es gibt Fälle, in denen Sie bei der Rückgabe des Wagens möglicherweise keinen Zeilenvorschub wünschen, z. B. wenn Sie einen Charakter mit einem Bindestrich durchstreichen würden (Sie würden ihn einfach überschreiben).
Aber im Grunde läuft es auf Konventionen hinaus. DOS verwendete die vollständige CR / LF-Konvention und UNIX verkürzte sie ein wenig. Jetzt stecken wir fest!
quelle
Andere haben die Antwort gegeben, aber ich wollte hinzufügen ... Ich denke, Sie sind zu jung, um eine Schreibmaschine benutzt zu haben? ;) Der Wagen ist eine Trommel. Wenn Sie es horizontal nach rechts bewegen, wird der Kopf des stationären Typs wieder an den linken Rand der Seite gebracht. Durch Drehen des Wagens mit Finger und Daumen wird die Seite um eine Zeile vorgerückt.
quelle
Aus Wikipedia :
quelle
Ich habe mehr als ein Konto gesehen, bei dem der Grund für das Senden von zwei Zeichen (und manchmal mehr) anstelle von einem darin bestand, die Datenübertragungsrate besser an die physische Druckrate anzupassen ( dies ist lange her ). Das Bewegen des Druckkopfs dauerte länger als das Drucken eines einzelnen Zeichens, und das Senden zusätzlicher Zeichen verhinderte, dass die Datenübertragung dem Druckgerät vorausging. Der Grund, warum wir in Windows mehrere Zeichen für das Zeilenende haben, ist im Grunde der gleiche wie der Grund, warum wir QWERTZ-Tastaturen haben - es sollte die Dinge verlangsamen .
Offensichtlich beruht der Grund, warum diese Praxis in Windows bis heute andauert, auf einer Vorstellung von fortlaufender Abwärtskompatibilität und letztendlich nur auf einfacher Trägheit.
Zu beachten ist jedoch, dass diese Konvention von Windows auf Betriebssystemebene nicht strikt durchgesetzt wird . Jede Windows-Anwendung kann die Konvention ignorieren, je nachdem, mit welchen anderen Anwendungen sie kompatibel sein möchte.
Interessanterweise behauptet der Wikipedia-Artikel über "Newline" , dass Windows 8 möglicherweise eine Änderung der Verwendung von nur LF einführt. Der Artikel besagt auch, dass Mac OS X einen Übergang von LF + CR zu nur LF eingeführt hat.
quelle