Escape-Sequenz
Escape-Sequenzen (von englisch to escape: entfliehen, entgehen, entkommen) sind Zeichenkombinationen, die für die Darstellung nicht direkt angebbarer Zeichen verwendet werden. Bei den nicht darstellbaren Zeichen handelt es sich meistens um sogenannte Steuerzeichen.
Der Name leitet sich aus dem ersten Zeichen der Sequenz ab, dem ESC-Zeichen mit dem Hexadezimal-Code '1B', dezimal 27, nach dem ASCII-Zeichensatz, welches spätestens seit 1968 als Umschaltzeichen zwischen Nutzdaten und Steuerzeichen benutzt wurde.[1]
In Übertragung der Bezeichnung werden auch in heute verbreiteten Standards Steuersequenzen so bezeichnet, bei denen die Zeichenkombination beispielsweise von einem umgekehrten Schrägstrich eingeleitet wird, dem ein Kennzeichen folgt. So steht in C beispielsweise ein \n für einen Zeilenumbruch, ein \t für ein Tabulatorzeichen und ein \" für ein Anführungszeichen.
Escape-Sequenzen in Drucker- und Terminalsprachen
Nach wie vor werden Escape-Sequenzen bei der Ansteuerung von Druckern sowie von Terminals und Terminalemulationen verwendet. Beispiele für solche Druckersprachen sind:
- ESC/P (Epson)
- PCL (Hewlett-Packard)
Im Terminalbereich ist die Sprache des Terminals VT100 weit verbreitet[2]. Sie wurde als ANSI X3.41-1974 und X3.64-1977 allgemeiner Standard. Sequenzen bestehen dabei aus dem einleitenden Escape-Zeichen (dem einzigen nichtdruckbaren Steuerzeichen dabei) und danach aus einer Sequenz durchweg druckbarer Zeichen. Beispiele: ESC c
(Reset Terminal), ESC [K
(Zeile ab Cursor löschen), ESC [PnA
(n ist eine Dezimalzahl, Cursor um n Zeilen aufwärts). Dieser Standard wurde so populär, dass Konsolentreiber wie ANSI.SYS für MS-DOS und OS/2 oder auch die Shell des AmigaOS diese Sequenzen ebenfalls unterstützten.
Escape-Sequenzen in C und verwandten Programmiersprachen
In C und zu C verwandten Programmiersprachen wie C++, CSharp, Java, Perl und JavaScript können in Zeichenfolgen durch folgende Escape-Sequenzen häufig benötigte Steuerzeichen eingefügt werden. Die Bezeichnungen vieler Steuerzeichen stammen noch aus der Zeit, als Ausgaben vorwiegend auf Fernschreibern und Druckern erfolgten.
\' | Einfaches Anführungszeichen |
\" | Doppeltes Anführungszeichen |
\? | Fragezeichen |
\\ | umgekehrter Schrägstrich |
\0 | Nullzeichen (NUL, nicht das Zahlzeichen 0) |
\a | akustisches Signal (von englisch alert) |
\b | Rückschritt (von englisch backspace) |
\f | Seitenvorschub (von englisch formfeed) |
\n | Zeilenumbruch (von englisch new line) |
\r | Wagenrücklauf (von englisch (carriage) return) |
\t | Horizontaler Tabulator (von englisch (horizontal) tabulator) |
\v | Vertikaler Tabulator (von englisch vertical tabulator) |
\xhh.. | Direkte Zeichenauswahl durch folgende Hexadezimalziffern hh (von hexadezimal). Beispiel: \x40 entspricht dem Zeichen '@'. Falls die so gebildete Hexadezimalzahl größer ist, als in einem Zeichen dargestellt werden kann, ist das Ergebnis implementierungsabhängig.
|
\ooo | Direkte Zeichenauswahl durch folgende ein bis drei Oktalziffern ooo. Beispiel \100 entspricht dem Zeichen '@'.\0 ist ein Spezialfall dieser Regel. |
\uhhhh | Unicode-Zeichen; Es müssen stets vier Hexadezimalziffern hhhh folgen. Beispiel:\u20ac für das Euro-Symbol U+20AC "€"
|
\Uhhhhhhhh | Unicode-Zeichen; Es müssen stets acht Hexadezimalziffern folgen. Beispiel: \U0001D49C steht für das Unicode-Zeichen U+1D49C 𝒜 (MATHEMATICAL SCRIPT CAPITAL A)
|
Durch den Einfluss der stark verbreiteten Programmiersprache C finden sich dieselben Escape-Sequenzen auch in anderen Zusammenhängen wieder, z. B. in Konfigurationsdateien.
Siehe auch
Einzelnachweise
Weblinks
- 9 Escape-Sequenz
- Epson Esc/P Reference (PDF-Datei)
- HP PCL/PJL Reference (PCL 5 Printer Language) - Technical Reference Manual Part I (bpl13210) (PDF-Datei; 2,97 MB)