Steuerzeichen

aus Wikipedia, der freien Enzyklopädie

Als Steuerzeichen, auch Steuerkode oder Steuercode, englisch control, werden die Zeichen eines Zeichensatzes bezeichnet, die keine darstellbaren Zeichen repräsentieren – darstellbare Zeichen sind beispielsweise Buchstaben, Ziffern und Satzzeichen.

Ursprünglich wurden sie zur Ansteuerung von Textausgabegeräten wie Textdruckern, Schreibautomaten, Telegrammgeräten oder Fernschreibern verwendet. Durch Steuerzeichen ist es möglich, Steuerungsbefehle für die Ausgabegeräte innerhalb des Zeichensatzes zu übertragen, anstatt die Steuerungsinformationen über ein anderes Protokoll zu übertragen.

Heute haben nur noch wenige Steuerzeichen eine Bedeutung (z. B. Line Feed, Form Feed, Carriage Return, Escape), die meisten werden praktisch nicht mehr verwendet. Manchmal nutzt man sie auch, um Zeichen zu übertragen, die im verwendeten Zeichensatz sonst nicht definiert sind.

In einer Zeichentabelle sind zumeist sowohl darstellbare Zeichen als auch Steuerzeichen definiert, beim meistverwendeten ASCII-Code sind Steuerzeichen die Zeichen 0 bis 31 und das Zeichen 127. Um Steuerzeichen als grafische Symbole sichtbar zu machen, beispielsweise zur Kontrolle der Datenübertragung, sind die Unicode-Zeichen des Bereichs Control Pictures[1] (U+2400 bis U+243F) vorgesehen.

C0-Steuerzeichen

Legende zur folgenden Tabelle 
Dez Codewert des Zeichens im dezimalen Zahlensystem
Hex Codewert des Zeichens im hexadezimalen Zahlensystem
Ctrl Übliche Schreibweise („Caret-Notation“) als Steuercode

Das Steuerzeichen kann so auf der Tastatur eingegeben werden: Das einleitende ^ steht dabei für Ctrl (control) bzw. auf deutschen Tastaturen die Strg-Taste (Steuerung). Diese wird gedrückt gehalten, während das zweite Zeichen eingegeben wird.

C Die „\x“-Zeichen geben die Schreibweise für dieses Zeichen in der Programmiersprache C und davon abgeleiteten Sprachen, wie etwa C++, Java und vor allem Skriptsprachen, Shells, und anderen an. Diese Schreibweise wird üblicherweise in Zeichenketten interpretiert, z. B.
printf("Ein\tTab\nZeilenumbruch\rWagenrücklauf");
ISO offizielle Abkürzung für das Steuerzeichen (nach ISO-646-Standard)
U grafisches Unicode-Symbol aus dem Block U+2400–243F[1]
Typ Zeichentyp:
  • CC = Communication Control (engl. für Protokollzeichen)
  • FE = Format Effector (engl. für Ausgabezeichen)
  • IS = Information Separator (engl. für Trennzeichen)
Englisch offizieller Name, für den die Abkürzung steht (nach ASCII-Standard)
Deutsch inoffizielle deutsche Übersetzung dieses englischen Namens
(ursprüngliche) Bedeutung Bedeutung des Steuerzeichens

Die kursiven Erläuterungen beschreiben die veraltete Bedeutung, die heutzutage als historisch anzusehen ist und nicht mehr verwendet wird.

ASCII- oder C0-Steuerzeichen
Dez Hex Ctrl C ISO U Typ Englisch Deutsch (ursprüngliche) Bedeutung
0 0x00 ^@ \0 NUL Null Nullzeichen Zeichen ohne Informationsgehalt. Kann nach Belieben in eine Nachricht eingefügt werden und wird vom Empfänger verworfen.
Markiert das Ende einer Zeichenkette in C.
1 0x01 ^A SOH CC Start of Heading Beginn der Kopfzeile Markiert den Anfang der maschinen-lesbaren Zieladresse oder Routing Information. Die Kopfzeile wird mit dem Zeichen STX beendet.
2 0x02 ^B STX CC Start of Text Beginn der Nachricht Markiert den Anfang der zu übertragenden Nachricht und damit das Ende der Kopfzeile.
3 0x03 ^C ETX CC End of Text Ende der Nachricht Markiert das Ende der zu übertragenden Nachricht.
Als „Abbruch“-Zeichen für Terminaleingabe benutzt.
4 0x04 ^D EOT CC End of Transmission Ende der Übertragung Markiert das Ende der gesamten Über­tragung, welche aus mehreren Nachrichten inkl. Kopfzeilen bestehen kann.
Als „Programm-Abbruch“ für manche Befehlsinterpreter benutzt.
Als „Ende der Eingabe“ für Terminaleingabe benutzt.
5 0x05 ^E ENQ CC Enquiry Anfrage In einer bidirektionalen Kommunikations­einrichtung eine Anfrage. Die Gegenstation kann mit ihrer Identifikation oder mit dem Status antworten. Auf deutschen Fernschreibern meist „Wer Da?“ genannt.
6 0x06 ^F ACK CC Acknowledge Empfangsbestätigung Steuerzeichen, das die positive Antwort auf eine vorangegangene Anfrage ausdrückt.
7 0x07 ^G \a BEL Bell Tonsignal Erzeugt ein Tonsignal (Glocke oder Beep) am empfangenden Terminal. Benutzt als Alarmzeichen oder Aufmerksamkeits­zeichen.
8 0x08 ^H \b BS FE Backspace Rückschritt Bewegt den Druckkopf/Cursor eine Position zurück.
Die Folge ´ Backspace e erzeugt auf einem Fernschreiber oder Drucker ein é, auf einem Videoterminal oder einer Terminalemulation oft nur ein e.
9 0x09 ^I \t HT FE Horizontal Tab Horizontales Tabulatorzeichen Bewegt den Druckkopf/Cursor zur nächsten vordefinierten Position (Tab-Stop) in der aktuellen Zeile.
10 0x0A ^J \n LF FE Line Feed Zeilenvorschub Bewegt den Druckkopf/Cursor in die nächste Zeile.

Wenn zwischen Sender und Empfänger abgesprochen, bedeutet es „New Line“, wobei die erste Druckposition der nächsten Zeile angefahren wird. Wird u. a. in unixoiden Systemen (Unix, BSD, macOS, Linux) als „Zeilenendezeichen“ benutzt. Unter MS-DOS oder Windows wird mit der Kombination „Carriage Return“ + „Line Feed“ eine Zeile beendet.

11 0x0B ^K \v VT FE Vertical Tab Vertikales Tabulatorzeichen Bewegt den Druckkopf/Cursor zur nächsten vordefinierten Zeile.
12 0x0C ^L \f FF FE Form Feed Seitenvorschub Bewegt den Druckkopf/Cursor zur ersten Druckposition auf der nächsten Seite (Seitenumbruch). (Wirft die aktuelle Seite aus, löscht den Bildschirm).
13 0x0D ^M \r CR FE Carriage Return Wagenrücklauf Bewegt den Druckkopf/Cursor zurück in die erste Druckposition der aktuellen Zeile.

Wird in BASIC als Zeilenumbruch verwendet. Wird beim klassischem Mac OS bis Version 9 als Zeilenendezeichen („New line“) benutzt. Unter MS-DOS oder Windows wird mit der Kombination „Carriage Return“ + „Line Feed“ eine Zeile beendet. Carriage Return kann bei Terminals oder Druckern verwendet werden, um in eine Zeile mehrmals zu schreiben (z. B. Ladebalken).

14 0x0E ^N SO Shift Out Umschaltung Umschaltung auf besondere Darstellung, z. B. Fettschrift bei einem Drucker.
15 0x0F ^O SI Shift In Rückschaltung Rückschaltung auf normale Darstellung.
16 0x10 ^P DLE CC Data Link Escape „Datenübertragungs­umschaltung“[2] oder „Datenverbindungs-Fluchtsymbol“
(wörtlich übersetzt)
Gibt den folgenden Zeichen eine besondere Bedeutung. Darf nur für zusätzliche Protokoll-Zeichen benutzt werden.
17 0x11 ^Q DC1 Device Control 1 Gerätekontrollzeichen 1 Gerätespezifische Steuerzeichen, etwa um bestimmte Gerätefunktionen (z. B. Schriftart bei Druckern) ein- und auszuschalten.

DC3 ^S (XOFF) und DC1 ^Q (XON) werden zur Flusskontrolle bei XON/XOFF eingesetzt.

18 0x12 ^R DC2 Device Control 2 Gerätekontrollzeichen 2
19 0x13 ^S DC3 Device Control 3 Gerätekontrollzeichen 3
20 0x14 ^T DC4 Device Control 4 Gerätekontrollzeichen 4
21 0x15 ^U NAK CC Negative Acknowledge Negative Bestätigung Drückt die negative Antwort auf eine vorangegangene Anfrage aus.
22 0x16 ^V SYN CC Synchronous Idle Synchronisierungssignal Ermöglicht bei synchronen Daten­übertragungen die Synchronisierung auch bei Abwesenheit von zu übertragenden Signalen.
23 0x17 ^W ETB CC End of Transmission Block Ende des Übertragungsblockes Zeigt das Ende eines Blocks von übertragenen Datenblöcken an, wenn dieses Blockende nicht aus den Daten selbst erkannt werden kann.
24 0x18 ^X CAN Cancel Abbruch Zeigt an, dass die gerade übertragenen Daten fehlerhaft sind oder waren und verworfen werden müssen.
25 0x19 ^Y EM End of Medium Ende des Mediums Zeigt das (physische oder logische) Ende des Speichermediums an.
26 0x1A ^Z SUB Substitute Ersatz Steht als Ersatz für ein Zeichen, das ungültig oder fehlerhaft ist, z. B. wegen eines Paritätsfehlers bei der Übertragung.
Dateiendezeichen (EOF, End of File) für Textdateien unter CP/M mangels bytegenauer Dateilängen, war anfänglich, obwohl unnötig, auch unter DOS üblich.
27 0x1B ^[ ESC Escape Fluchtsymbol Gibt den folgenden Zeichen eine besondere Bedeutung, leitet eine Escape-Sequenz ein.
28 0x1C ^\ FS IS File Separator Dateitrenner Trennzeichen, die Datenblöcke logisch unterteilen. Die genaue Bedeutung der logischen Einheiten „File“, „Group“, „Record“, „Unit“ ist nicht festgelegt, sie soll aber von „File“ als oberste Gliederungseinheit nach „Unit“ als unterste Gliederungseinheit geordnet sein.
29 0x1D ^] GS IS Group Separator Gruppentrenner
30 0x1E ^^ RS IS Record Separator Datensatztrenner
31 0x1F ^_ US IS Unit Separator Einheitentrenner
127 0x7F DEL Delete Zeichen löschen Das DEL-Zeichen weist einen Binärcode aus lauter Einsen auf. Das hat einen historischen Grund: Einmal in einen Lochstreifen gestanzte Löcher kann man schließlich nicht wieder füllen. Man kann aber alle übrigen Löcher eines Zeichens auslochen und es damit zu einem nichtdruckenden Steuerzeichen 'BU' (im 5-Kanal-Baudot-Code) machen, also auf diese Weise eine Fehleingabe überschreiben. Daher steht dieses Zeichen auch für „gelöschtes Zeichen“ oder „deleted“.

C1-Steuerzeichen

Die in ISO 8859 für all seine Unterstandards neu definierten Steuerzeichen werden kaum verwendet und sind inzwischen nur noch von historischem Interesse. Die meisten Windows-Zeichensätze, einschließlich CP 1252, belegen diese Codepositionen mit druckbaren Zeichen, die im korrespondierenden ISO-Standard, bspw. ISO 8859-1, nicht enthalten sind.

Alle C1-Steuerzeichen sind über Escapesequenzen auch als C0-Steuerzeichen abbildbar, siehe ANSI-Escapesequenz.

ISO-8859- oder C1-Steuerzeichen
Dez Hex IETF[3] ISO[4] Zeichenname Kommentar
128 0x80 PA PAD
Padding Character
Reserviertes Steuerzeichen; in einem DIS-10646-Entwurf angedacht, jedoch nie in die ISO-10646-Norm aufgenommen. In Unicode als XXX markiert.
129 0x81 HO HOP
High Octet Preset
130 0x82 BH BPH
Break Permitted Here
Eine Position, an der ein Zeilenumbruch stattfinden kann. Vergleichbar mit dem breitenlosen Leerzeichen, Unicode U+200B zero width space.
131 0x83 NH NBH
No Break Here
Eine Position, an der kein Zeilenumbruch stattfinden soll. Vergleichbar mit Unicode U+2060 word joiner.
132 0x84 IN IND Index Versetzt die aktuelle Position eine Zeile nach unten, behält dabei aber die horizontale Position bei. Die Index-Funktion wurde mit der 4. Ausgabe von ECMA-48 (1986) als veraltet deklariert und in der 5. Ausgabe (1991) gestrichen.
133 0x85 NL NEL Next Line Schiebt die aktuelle Position an den Anfang der nächsten Zeile, alternativ an die
Home
oder
Line-Limit
-Position. NEL ist an der gleichen Position wie EBCDIC NL (englisch Next Line).
134 0x86 SA SSA
Start of Selected Area
135 0x87 ES ESA
End of Selected Area
136 0x88 HS HTS
Character Tabulation Set
Setzt einen Tabulatorstopp an der aktiven Position. Vor ECMA-48 (4. Ausgabe, 1986) als „
Horizontal Tabulation Set
“ bezeichnet.
137 0x89 HJ HTJ
Character Tabulation with Justification
Verschiebt einen Text an die nächste Tabulatorstopp-Position. Als Text wird der Teil von der vorigen Tabulatorstopp- bis zur aktiven Position verstanden. Vor ECMA-48 (4. Ausgabe, 1986) als „
Horizontal Tabulation with Justify
“ bezeichnet.
138 0x8A VS VTS
Line Tabulation Set
Setzt einen vertikalen Tabulatorstopp auf der aktiven Zeile. Vor ECMA-48 (4. Ausgabe, 1986) als „
Vertical Tabulation Set
“ bezeichnet.
139 0x8B PD PLD
Partial Line Forward
Vor ECMA-48 (5. Ausgabe, 1991) als „
Partial Line Down
“ bezeichnet.
140 0x8C PU PLU
Partial Line Backward
Vor ECMA-48 (5. Ausgabe, 1991) als „
Partial Line Up
“ bezeichnet.
141 0x8D RI RI
Reverse Line Feed
Verschiebt die vorige Zeile und behält dabei die horizontale Position bei. Vor ECMA-48 (4. Ausgabe, 1986) als „
Reverse Index
“ bezeichnet.
142 0x8E S2 SS2
Single Shift 2
Zeichensatz G2 für 1 Zeichen nach GL laden
143 0x8F S3 SS3
Single Shift 3
Zeichensatz G3 für 1 Zeichen nach GL laden
144 0x90 DC DCS
Device Control String
Startzeichen einer Steuersequenz, die mit ST („
String Terminator
“) beendet wird; kann ein Kommando für das empfangende Gerät oder einen Statusbericht des sendenden Gerätes enthalten.
145 0x91 P1 PU1
Private Use One
Reserviert, keine standardisierte Bedeutung.
146 0x92 P2 PU2
Private Use Two
147 0x93 TS STS
Set Transmit State
148 0x94 CC CCH
Cancel Character
149 0x95 MW MW
Message Waiting
Setzt einen „
Message Waiting
“-Indikator im empfangenden Gerät.
150 0x96 SG SPA
Start Protected Area
Legt mit der darauffolgenden Zeichenkette, die eine Liste von Zeichenpositionen enthält, einen Bereich fest, der gegen manuelles Verändern oder Übertragen geschützt ist; ein Löschschutz ist optional. Die Zeichenkette ist mit EPA („
End Protected Area
“) zu beenden. Die Funktion heißt „
Start of Protected Area
“ gem. ANSI X3.64 und ECMA-48 (1979), „
Start of Guarded Protected Area
“ gem. ISO 6429 (1983) und ECMA-48 (1984) oder „
Start of Guarded Area
“ gem. ISO 6429 (1992) und ECMA-48 (1986 und 1991).
151 0x97 EG EPA
End Protected Area
Legt das Ende einer Zone fest, die mit SPA begonnen wurde. Die Funktion heißt „
End of Protected Area
“ gem. ANSI X3.64 und ECMA-48 (1979), „
End of Guarded Protected Area
“ gem. ISO 6429 (1983) und ECMA-48 (1984) oder „
End of Guarded Area
“ gem. ISO 6429 (1992) und ECMA-48 (1986 und 1991).
152 0x98 SS SOS
Start Of String
Markiert den Beginn einer Steuer-Zeichenkette, die mit ST („
String Terminator
“) beendet wird. Die Zeichenkette darf kein weiteres SOS (152 dezimal bzw. 98 hexadezimal) enthalten. Die Interpretation der Zeichenkette obliegt dem jeweiligen Programm.
153 0x99 GC SGCI
Single Graphic Character Introducer
Reserviertes Steuerzeichen; in einem DIS-10646-Entwurf angedacht, jedoch nie in die ISO-10646-Norm aufgenommen. In Unicode als XXX markiert.
154 0x9A SC SCI
Single Character Introducer
Führt die durch ein einzelnes nachfolgendes Byte definierte Funktion aus, welche jedoch nicht standardisiert wurden. Ebenfalls die Einleitung einer proprietären VT100-Steuersequenz.
155 0x9B CI CSI
Control Sequence Intro
Einleitung einer Steuersequenz. Siehe ANSI-Escapesequenz.
156 0x9C SI ST
String Terminator
Zeichen für das Ende einer Zeichenkette, die mit APC, DCS, OSC, PM oder SOS begonnen wurde.
157 0x9D OC OSC
Operating System Command
Markiert den Beginn einer „
Operating System Command
“-Zeichenkette, die mit ST („
String Terminator
“) beendet wird. Die Interpretation der Zeichenkette obliegt dem jeweiligen Betriebssystem.
158 0x9E PM PM
Privacy Message
Markiert den Beginn einer „
Privacy Message
“, die mit ST („
String Terminator
“) beendet wird.
159 0x9F AC APC
Application Program Command
Markiert den Beginn einer „
Application Program Command
“-Zeichenkette, die mit ST („
String Terminator
“) beendet wird. Die Interpretation der Zeichenkette obliegt dem jeweiligen Programm.

Unicode

Die Steuerzeichen des ASCII-Bereichs 0x00 bis 0x1F finden sich in Unicode unter C0 Controls[5] (U+0000 bis U+001F), die des ISO-8859-Bereichs 0x80 bis 0x9F unter C1 Controls[6] (U+0080 bis U+009F). Die ersten 128 Zeichen in der Unicode-Kodierung UTF-8 entsprechen denen der ASCII- und ISO-8859-Kodierung, somit gilt dies auch für die Steuerzeichen des Bereichs 0x00 bis 0x1F. Neben diesen Zeichen gibt es eine Reihe weiterer Steuerzeichen in Unicode.

Grafische Symbole für die Steuerzeichen finden sich im Unicode-Bereich Control Pictures[1] (U+2400 bis U+243F).

Eingabe unter MS-Windows oder DOS

Testweise können Steuerzeichen auch unter Windows eingegeben werden. Durch Festhalten der (linken) Alt-Taste und nachfolgendes Eintippen des Dezimalcodes eines Steuerzeichens auf dem Ziffernblock der Tastatur kann ein Steuerzeichen am Prompt eingegeben werden.

Beispiel: Eingabeaufforderung öffnen, Alt+(0 und 7 auf der numerischen Tastatur) protokolliert am Prompt das Zeichen ^G, damit wird auch klar: Strg + G bewirkt das Gleiche. Wird jetzt Enter (oder ^M) gedrückt, wird dieses Steuerzeichen im Terminalfenster ausgeführt und es ertönt aus dem Systemlautsprecher (soweit vorhanden und aktiv) ein spezieller Ton, was der Klingel (BEL) entspricht (siehe Tabelle oben). Ebenso löscht Alt+(0 und 8) wie der Druck auf Backspace (oder Strg + H) ein Zeichen. BASIC-Interpreter, die eigene Tastaturtreiber verwenden (z. B. GW-BASIC), akzeptieren auch hexadezimale ASCII-Codes der Form &hZZ, wobei Z für eine Hex-Ziffer steht (z. B. &h0D für Wagenrücklauf).

Siehe auch

Weblinks

Einzelnachweise

  1. a b c unicode.org (PDF; 111 kB).
  2. TGL-RGW 359, Informationsverarbeitungssysteme: Zeichen, Klassifizierung, Bezeichnung und Benennung. Verlag für Standardisierung, Januar 1988, S. 2.
  3. RFC 1345
  4. ISO 8859
  5. unicode.org (PDF; 476 kB).
  6. unicode.org (PDF; 573 kB).