Zum Inhalt springen

Escape-Sequenz

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 11. Januar 2011 um 20:43 Uhr durch Jobu0101 (Diskussion | Beiträge) (Quellenangabe korrekt formatiert). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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:

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.

Escape-Sequenzen in C und C++
\' 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

  1. Erste Epson-Steuerung per ESC/P
  2. Manual für VT100-Terminal (engl.)