Steuerzeichen
Als Steuerzeichen bezeichnet man die Zeichen eines Zeichensatzes, die keine darstellbaren Zeichen repräsentieren. (Darstellbare Zeichen sind z. B. 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 Steuerzeichen werden praktisch nicht mehr verwendet. Manchmal werden sie auch genutzt, 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
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 |
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:
|
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. |
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 Übertragung, 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 Kommunikationseinrichtung 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 | Positive Bestä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 Aufmerksamkeitszeichen. | |
8 | 0x08 | ^H | \b | BS | ␈ | FE | Backspace | Rückschritt | Bewegt den Druckkopf/Cursor eine Position zurück. Die Folge e Backspace ´ erzeugt auf einem Drucker ein é, auf einem Terminal oft nur ein e. |
9 | 0x09 | ^I | \t | HT | ␉ | FE | Horizontal Tab | Horizontaler Tabulator | 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 unter Unix und Mac OS X als „Zeilenendezeichen“ benutzt. Unter MS-DOS oder Microsoft Windows wird mit der Kombination „Carriage Return“ + „Line Feed“ eine Zeile beendet. |
11 | 0x0B | ^K | \v | VT | ␋ | FE | Vertical Tab | Vertikaler Tabulator | 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. Wurde von Mac OS bis Version 9 als Zeilenendezeichen („New line“) benutzt. Unter MS-DOS oder Microsoft 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 | Datenverbindungs-Fluchtsymbol | 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. ^S (XOFF) und ^Q (XON) werden außerdem 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 (wörtlich „aussteigen“) | 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.
Dez | Hex | IETF[2] | ISO[3] | Zeichenname | Kommentar |
---|---|---|---|---|---|
128 | 0x80 | PA | PAD | Padding Character | markiert als XXX in Unicode |
129 | 0x81 | HO | HOP | High Octet Preset | |
130 | 0x82 | BH | BPH | Break Permitted Here | |
131 | 0x83 | NH | NBH | No Break Here | |
132 | 0x84 | IN | IND | Index | |
133 | 0x85 | NL | NEL | Next Line | markiert Zeilenende (end-of-line) bei einigen IBM Mainframes |
134 | 0x86 | SA | SSA | Start of Selected Area | |
135 | 0x87 | ES | ESA | End of Selected Area | |
136 | 0x88 | HS | HTS | Horizontal Tab Set | |
137 | 0x89 | HJ | HTJ | Horizontal Tab Justified | |
138 | 0x8A | VS | VTS | Vertical Tab Set | |
139 | 0x8B | PD | PLD | Partial Line Forward | |
140 | 0x8C | PU | PLU | Partial Line Backward | |
141 | 0x8D | RI | RI | Reverse Line Feed | |
142 | 0x8E | S2 | SS2 | Single-Shift 2 | |
143 | 0x8F | S3 | SS3 | Single-Shift 3 | |
144 | 0x90 | DC | DCS | Device Control String | |
145 | 0x91 | P1 | PU1 | Private Use 1 | |
146 | 0x92 | P2 | PU2 | Private Use 2 | |
147 | 0x93 | TS | STS | Set Transmit State | |
148 | 0x94 | CC | CCH | Cancel Character | |
149 | 0x95 | MW | MW | Message Waiting | |
150 | 0x96 | SG | SPA | Start of Protected Area | |
151 | 0x97 | EG | EPA | End of Protected Area | |
152 | 0x98 | SS | SOS | Start of String | |
153 | 0x99 | GC | SGCI | Single Graphic Char Intro | markiert als XXX in Unicode |
154 | 0x9A | SC | SCI | Single Char Intro | |
155 | 0x9B | CI | CSI | Control Sequence Intro | Wird von VT100-kompatiblen Terminals als alternativer Anfang einer Escape-Sequenz verstanden, die hiermit statt mit ESC [ beginnt.
|
156 | 0x9C | SI | ST | String Terminator | |
157 | 0x9D | OC | OSC | OS Command | |
158 | 0x9E | PM | PM | Private Message | |
159 | 0x9F | AC | APC | App Program Command |
Unicode
Die Steuerzeichen des ASCII-Bereichs 0x00 bis 0x1F finden sich in Unicode unter „C0 Controls“[4] (U+0000 bis U+001F), die des ISO-8859-Bereichs 0x80 bis 0x9F unter „C1 Controls“[5] (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 Microsoft 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) ein Piepton, 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
- Sonderzeichen – Spezielle Buchstaben und Textsatzzeichen
- Steuerzeichen in EBCDIC
- Escape-Sequenzen – Steuerbefehle durch das Escape-Zeichen eingeleitet
- ANSI-Bombe – nutzt Steuerzeichen als Sicherheitslücke
Referenzen
- ↑ a b c http://www.unicode.org/charts/PDF/U2400.pdf
- ↑ RFC 1345 (RFC 1345)
- ↑ ISO 8859
- ↑ http://www.unicode.org/charts/PDF/U0000.pdf
- ↑ http://www.unicode.org/charts/PDF/U0080.pdf