- Leerraum
-
Leerraum (auch: Whitespace /'waɪtspeɪs/, Zwischenraumzeichen, Weißraum) ist in der Informatik eine Bezeichnung für Zeichen in einem Text, die im Texteditor oder Textverarbeitungsprogramm normalerweise nicht dargestellt werden und dennoch (Speicher-)Platz in Anspruch nehmen. Sie dienen vorrangig dazu, Wörter oder Zeilen voneinander abzugrenzen.
Je nach Kontext werden verschiedene Zeichen als Leerraum angesehen, fast immer zumindest Leerzeichen und Tabulatorzeichen, meist auch Zeilenumbrüche. Viele Programme bieten auch die Möglichkeit, diese Zeichen durch stellvertretende Formatierungsymbole (zum Beispiel „¶“ für Zeilenumbrüche, „·“ für Leerzeichen und „→“ oder „> “ für Tabulatoren) sicht- und unterscheidbar zu machen.
In der Programmierung kommt diesen Zeichen für gewöhnlich eine besondere Rolle zu. In verschiedenen Programmiersprachen können sie einzelne geschützte Wörter und ebenso Namen von Variablen voneinander trennen. Manche Programmiersprachen (etwa Python) verlangen eine spezielle Formatierung des Quellcodes durch Whitespace-Zeichen (Einrückung von Blöcken).
Bei der Zählung der Zeichen eines Textdokumentes wird der Leerraum manchmal nicht mitgezählt.
Reguläre Ausdrücke
Für reguläre Ausdrücke sind zwei leicht abweichende Definitionen verbreitet. In Perl-kompatiblen regulären Ausdrücken (PCRE) zählen mindestens das Leerzeichen (U+0020), der horizontale Tabulator (U+0009), der Zeilen- (U+000A) und Seitenvorschub (U+000C) sowie der Wagenrücklauf (U+000D) zum Leerraum.[1] In regulären Ausdrücken nach POSIX-Standard zählt zusätzlich der vertikale Tabulator (U+000B) zum Leerraum.[2] In beiden Fällen kommen je nach eingestelltem Locale evtl. weitere Zeichen dazu, im Japanischen beispielsweise das ideographische Leerzeichen (U+3000).[3]
Unicode
In Unicode sind jedem Codepoint, das heißt jedem Unicode-Zeichen mehrere Kategorien und Eigenschaften zugeordnet. Unter anderem gehört jedes Zeichen zu einer allgemeinen Kategorie (general category, gc). Zum Leerraum werden dabei alle Zeichen aus den Kategorien Zeilen- (Zl), Absatztrenner (Zp) und sonstige Trenner (Zs) sowie einige Steuerzeichen (Cc) gezählt. Daneben wird jedes Zeichen einer Bidirektionalitäts-Klasse (bc) zugeordnet. Auch hier existiert eine Klasse mit dem Namen white space (WS), die jedoch um einige Zeichen aus den Klassen der allgemeinen Separatoren (CS), Segment- (S) und Absatztrenner (B) ergänzt wird.
Im Einzelnen werden zum Leerraum 26 Zeichen gezählt, die mit der Eigenschaft (property) White_Space gekennzeichnet sind.[4]
- Mehrere Steuerzeichen, im Einzelnen der horizontale (U+0009) und vertikale Tabulator (U+000B), der Zeilen- (U+000A) und Seitenvorschub (U+000C) sowie der Wagenrücklauf (U+000D)
- Das Leerzeichen (U+0020)
- Das Steuerzeichen für die nächste Zeile (U+0085)
- Das geschützte Leerzeichen (U+00A0)
- Das Ogam-Leerzeichen (U+1680) und das mongolische Vokaltrennungszeichen (U+180E)
- Elf schmale Leerzeichen, Haarspatium und Geviert-Leerzeichen in verschieden Größen (U+2000 bis U+200A)
- Zeilen- und Absatztrenner (U+2028 und U+2029)
- Das schmale geschützte Leerzeichen (U+202F)
- Das mittlere mathematische Leerzeichen (U+205F)
- Das ideographische Leerzeichen (U+3000)
Für die Verwendung in der Softwareentwicklung und insbesondere in Programmiersprachen definiert Unicode eine zweite Eigenschaft namens Pattern_White_Space (wörtlich „Muster-Leerraum“, nach den Mustern in regulären Ausdrücken) mit nur 11 Zeichen (U+0009 bis U+000D, U+0020, U+0085, U+200E, U+200F, U+2028 und U+2029). Hier fehlen insbesondere die geschützten und sprachspezifischen Leerzeichen.
Auch diese Aufzählung gilt nur als Empfehlung und kann von den Entwicklern der Programmiersprache abgeändert werden, wobei empfohlen wird, den Unicode-Standard als Grundlage für die abweichende Definition zu verwenden.[5]
Einzelnachweise
- ↑ Perl Programming Documentation: Using character classes, 2000.
- ↑ The Open Group: Base Specifications: Locale Definition, 2004.
- ↑ The Open Group: Locales, 2010.
- ↑ Unicode: Häufig gestellte Fragen. Darin: „All the characters that have the White_Space property, also generically known as ‚whitespace characters‘.“
- ↑ Unicode: Unicode Standard Annex #31: Identifier and Pattern Syntax. Darin: „Each programming language can define its own whitespace characters [...] relative to the Unicode Pattern_White_Space [...] characters, with some specified set of additions or subtractions.“
Wikimedia Foundation.