Zeilenvorschub
Unter Zeilenvorschub (englisch line feed) versteht man im ursprünglichen Sinne das Drehen der Walze bei einer Schreibmaschine. Mit dem Aufkommen der elektronischen Datenverarbeitung und damit der dazugehörigen Drucker und Bildschirme benötigte man ein Steuerzeichen, das sinngemäß genau das Gleiche hervorruft, nämlich das Bewegen in die nächste Zeile.
Dies ist notwendig, um Texte mit Umbrüchen und Absätzen entsprechend ausgeben zu können. Daher wurde in praktisch allen Zeichensätzen ein solches Steuerzeichen vorgesehen. Im ASCII Zeichensatz, dem verbreitetsten und meistgenutzten Zeichensatz weltweit, wurde z.B. das Zeichen hexadezimal 0A
bzw. dezimal 10
dafür vorgesehen, im EBCDIC-Code das Zeichen hexadezimal 25
bzw. dezimal 37
. Die übliche Abkürzung ist LF
.
Zeilenvorschubzeichen unter verschiedenen Betriebssystemen
Betriebssystem | Zeichen | Regex | ASCII hexadezimal |
---|---|---|---|
MS-DOS, Windows | CR LF
|
\r\n | 0D0A |
Apple Mac OS bis Version 9 | CR
|
\r | 0D |
alle Unix-Derivate | LF
|
\n | 0A |
Die Darstellung der Zeilenvorschübe ist unter verschiedenen Betriebssystemen nicht einheitlich.
- Microsoft Windows führte mit MS-DOS die Zeichenkette
CR LF
als Zeichenvorschub ein, also erst ein Wagenrücklauf und dann der Sprung in die nächste Zeile. Das rührt daher, dass ein simpler Zeilenvorschub im historischen Sinn nur die Walze vorschiebt, den Cursor also in die nächste Zeile befördert. Erst der Wagenrücklauf bringt ihn ganz an den Anfang dieser Zeile. - Unix und seine Derivate, wie zum Beispiel Linux, verwenden seit jeher nur das Zeichen
LF
, also einen einfachen Zeilenvorschub, der den Cursor automatisch an den Anfang der nächsten Zeile befördert. - Apples Mac OS verwendete bis Version 9 lediglich das Zeichen
CR
, welches, wieLF
unter Unix, für Zeilenvorschub und Wagenrücklauf sorgte. Seit Mac OS X wird jedoch auchLF
verwendet, da dieses vollständig neu entwickelt wurde und nun auf Unix aufsetzt.
Aus diesem Grund ist der Austausch von Textdaten zwischen diesen unterschiedlichen Betriebssystemen erheblich erschwert. Viele Programme, zum Beispiel Browser, akzeptieren daher jedes dieser Steuerzeichen als Zeilenvorschub, auch wenn dies technisch nicht ganz korrekt ist.
Bekannt ist auch das FTP, welches für dieses Problem sogar zwei Übertragungsmodi entwickelt hat: ASCII und binary. Während letzteres die Daten unverändert überträgt, kümmert sich beim ASCII-Übertragungsverfahren der Server darum, dass der Zeilenvorschub den entsprechenden Erfordernissen angepasst wird. Wird also von einem Windows-Client auf einen Unix-Server im ASCII-Format übertragen, werden CR LF
automatisch zu LF
umgewandelt.