Outils :Vous avez un site web ? Un blog ?
Technorati reactions rencontre |
Der Begriff Zeilenumbruch oder Absatz stammt aus dem Schriftsatz und gibt an, an welcher Stelle ein Text von einer Zeile in die nächste übergehen soll.
Inhaltsverzeichnis |
Auf einer Schreibmaschine etwa wird der Zeilenumbruch explizit durch Betätigen einer Taste oder eines Hebels durchgeführt. Dabei werden zwei Funktionen ausgeführt: Positionierung der Schreibstelle um eine Zeile nach unten und Positionierung der Schreibstelle zum Zeilenanfang (ganz links).
Reine Textdateien auf dem Computer ähneln in ihrer Darstellung einem auf einer Schreibmaschine geschriebenen Text. Bei der Entwicklung des ASCII-Zeichensatzes wurden daher zwei Zeichen reserviert, die genau die Zeilenumbruchfunktion einer Schreibmaschine darstellen:
LF oder NL) ist als ASCII-Zeichen 10 (hexadezimal 0A) kodiert. Manche Systeme erlauben es, das LF-Zeichen mit der Tastenkombination Strg + J einzugeben.CR) ist als ASCII-Zeichen 13 (hexadezimal 0D) kodiert. Manche Systeme erlauben es, das CR-Zeichen mit der Tastenkombination Strg + M einzugeben.Diese Zeichen werden auch Steuerzeichen genannt und sind für den Benutzer im Allgemeinen unsichtbar.
Es existieren verschiedene Standards, um den Zeilenumbruch in einer Textdatei explizit zu kodieren:
| Betriebssystem | Zeichensatz | Abkürzung | Code Hex | Code Dezimal | Escape-Sequenz |
|---|---|---|---|---|---|
| Unix, Linux, Mac OS X, AmigaOS, BSD, weitere | ASCII | LF | 0A | 10 | \n |
| Windows, DOS, OS/2, CP/M, TOS (Atari) | CR LF | 0D 0A | 13 10 | \r\n | |
| Mac OS bis Version 9, Apple II | CR | 0D | 13 | \r | |
| AIX OS & OS/390 | EBCDIC | NEL | 15 | 21 |
Auf IBM-Großrechnern ist der Zeilenumbruch in den Dateien kein Steuerzeichen. Vielmehr wird die Zeilenlänge im DCB (Recordformat F oder FB) beziehungsweise in einem Längenfeld am Zeilenanfang (Recordformat V oder VB) gespeichert.
Um Dateien zwischen dem Windows- und dem Unix-Format zu konvertieren, existiert unter anderem das Kommandozeilenprogramm dos2unix (bzw. unix2dos).
Unterschieden wird in der Textformatierung der Textverarbeitungssysteme zwischen einem harten, einem weichen (die beiden manuellen Zeilenumbrüche, und dem automatischen Zeilenumbruch.
<pre> in HTML, oder die Anweisung kein automatischer Zeilenumbruch in der Absatzformatierung) ausdrücklich ausgesetzt werden.Ein Text soll oft auf unterschiedlichen Medien oder in unterschiedlicher Schriftgröße dargestellt werden. In diesem Falle ist eine explizite Angabe des Zeilenumbruchs nicht wünschenswert, da dieser bei optimaler Ausnutzung des Mediums nicht feststeht. Computerprogramme zur Textdarstellung ignorieren daher in solchen Situationen vorgegebene Zeilenumbrüche und setzen den Text in Bezug auf die Zeilenlänge des Mediums.
Klassischerweise gibt es zwei Steuerzeichen für den Zeilenumbruch, die sich von der Schreibmaschine (bzw. exakter, dem Fernschreiber) herleiten: der Wagenrücklauf (CR carriage return, Zurücksetzen an den vorderen Textrand), und der Zeilenvorschub (LF line feed). Durch die verschiedenen Konventionen zum Kodieren der Formen des Zeilenumbruchs auf Computersystemen, die bei der Übernahme der Fernschreib/Schreibmaschinen-Konventionen in die elektronische Textverarbeitung entstanden, treten beim Austausch zwischen unterschiedlichen Systemen Probleme auf.
Bekanntes Beispiel ist die Funktion printf() bzw. fprintf() aus der Standard C Library zum Schreiben in Dateien. Die Escape-Sequenz \n (LF) steht in C für einen Zeilenumbruch. Beim Schreiben in Dateien wird in C zwischen Textmodus und Binärmodus unterschieden. Bei im Textmodus geöffneten Dateien erfolgt eine Übersetzung von \n in die auf dem jeweiligen System üblichen Steuerzeichen für den Zeilenumbruch. Somit erfolgt in unixartigen Betriebssystem keine Umsetzung, da dort LF bereits für den Zeilenumbruch steht. Dagegen findet unter Windows eine Substitution durch CR LF statt. Die resultierenden Dateien sind folglich nicht identisch. Ist die Datei im Binärmodus geöffnet, erfolgt keine Übersetzung, sondern es wird stets ein LF in die Datei geschrieben.
Bei Java stehen die Escapesequenzen \n und \r zur Verfügung; eine Umwandlung erfolgt nicht, stattdessen können mittels gesonderter Funktionen die plattformabhängigen Zeichen für den Zeilenumbruch eingefügt werden. Beim Einlesen ist die Java-Bibliothek tolerant und akzeptiert sowohl CR, LF als auch CR+LF als Zeilenende.[1] Auch andere Programmiersprachen wie Visual Basic oder Perl stellen ähnliche Funktionalitäten zur Verfügung, um Textdateien korrekt zu verarbeiten.
Zahlreiche Netzwerkprotokolle zur Übertragung von Text, z. B. HTTP, SMTP oder FTP, definieren die Sequenz CR+LF für einen Zeilenumbruch. Einige Programme, z. B. Mail Transfer Agents, sind strikt und verweigern sogar die Verarbeitung solcher Daten.[2] Andere Protokolle empfehlen jedoch, auch ein einzelnes LF als (ggf. weichen) Umbruch zu interpretieren.