Das Nullzeichen ist ein Steuerzeichen an der Code-Position 0. Es ist Bestandteil vieler Zeichensätze wie ASCII, ISO 8859 oder Unicode und zählt dort zu den sogenannten C0-Zeichen, die im Bereich von 0 bis 31 liegen. Als Abkürzung wird normalerweise NUL verwendet.
Geschichte
BearbeitenDie ursprüngliche Bedeutung des Nullzeichens ist vergleichbar mit NOP (No Operation, englisch für keine Funktion). Wenn es an einen Drucker oder ein Terminal gesendet wird, tut das Gerät nichts. Auf Lochstreifen wird dieses Zeichen als völliges Fehlen von Löchern dargestellt. Ein mit Nullzeichen gefüllter Lochstreifen erscheint also als leer.
Verwendung
BearbeitenDas Nullzeichen kann auf Speichermedien als Füllzeichen verwendet werden, beispielsweise um unbelegten Speicherplatz zu füllen. In einigen Übertragungsprotokollen wird es als zeitliches Füllsignal verwendet, das nach Belieben in eine Nachricht eingefügt werden kann und vom Empfänger verworfen wird. Damit werden bei synchroner Datenübertragung Verzögerungen auf der Senderseite überbrückt, ohne die eigentlichen Nutzdaten zu beeinflussen.
In einigen Programmiersprachen, beispielsweise C, wird das Nullzeichen als Markierung für das Ende einer Zeichenkette verwendet. Da es in normalen Texteditoren nicht direkt eingegeben werden kann, wird es im Quelltext durch die Escape-Sequenz \0 (umgekehrter Schrägstrich gefolgt von Ziffer 0) oder hexadezimal als 0x00 dargestellt. Der Hintergrund liegt darin, dass der Computer grundsätzlich nur mit Zahlen operieren kann. Auch die einzelnen Zeichen einer Zeichenkette sind als Zahlen (vom Typ char
, von englisch character, „Buchstabe“) codiert. Der Rechner liest in einem solchen Fall das erste Zeichen, dann das nächste, bis er auf das Nullzeichen stößt, das das Ende der Zeichenkette markiert. Der Entwickler Poul-Henning Kamp des FreeBSD Betriebssystems bezeichnete in der Zeitschrift ACM Queue, den Sieg von nullterminierten Strings über Strings mit Längenpräfix als „den teuersten 1-Byte-Fehler“ aller Zeiten.[1]
Unicode
BearbeitenDas Nullzeichen liegt im Unicodeblock Basis-Lateinisch (C0 Controls and Basic Latin) an Position 0.
Darstellung
BearbeitenDas Nullzeichen ist als Steuerzeichen nicht direkt darstellbar. Es existieren allerdings verschiedene Darstellungskonventionen, die ersatzweise für das darzustellende Steuerzeichen stehen:
Konvention | Darstellung des Nullzeichens |
---|---|
Caret-Notation | ^@ |
Steuerzeichensymbol | ␀ (U+2400) |
Escape-Sequenz | \0 |