Escape-Sequenz - LinkFang.de





Escape-Sequenz


Eine Escape-Sequenz (nach dem Escape-Zeichen, englisch to escape ‚aussteigen‘) ist eine Zeichenkombination in der technischen Informatik, die keinen Text repräsentiert, sondern vom Gerät abgefangen wird und eine Sonderfunktion ausführt. Bei einem Bildschirmterminal kann dies z. B. die Cursor-Positionierung sein, bei einem Drucker die Umschaltung auf eine andere Schriftgröße oder das Auswerfen der Seite.

Funktionsweise

Der Name leitet sich von dem Zeichen ab, mit dem die Sequenz meistens eingeleitet wird; dem ESC-Zeichen (im ASCII-Zeichensatz Hexadezimal-Code 1B, dezimal 27), welches spätestens seit 1968 als Umschaltzeichen zwischen normaler Bedeutung der Zeichen und Sonderfunktion benutzt wurde.[1]

Das jeweilige Programm – unabhängig davon, ob es sich um eine Anwendung für Desktoprechner oder ein Steuerprogramm in einem Peripheriegerät handelt – erkennt beim Verarbeiten einer Zeichenfolge, zum Beispiel eines Textes, das Escape-Zeichen, steigt aus der normalen Verarbeitung aus und löst die der folgenden Zeichensequenz zugeordnete Sonderfunktion aus. Anschließend wird die normale Verarbeitung fortgesetzt. Während der Bearbeitung des Textes dagegen, zum Beispiel in einem Texteditor, bleibt ein Escape-Zeichen als gewöhnliches Zeichen uninterpretiert und löst damit keine Funktion aus. Ein Sonderfall sind WYSIWYG-Programme, zu denen beispielsweise moderne Textverarbeitungsprogramme zählen, bei denen die Anzeige direkt der Ausgabe mit allen Sonderfunktionen entspricht.

Um beim Programmieren nicht-druckbare Steuerzeichen im Quelltext darzustellen, wird bestimmten Folgen von druckbaren Zeichen die Bedeutung einer Sonderfunktion verliehen, indem ein (anderes) bestimmtes Zeichen vorangestellt wird, das als Maskierungszeichen dient. So steht in der Programmiersprache C innerhalb einer Zeichenkettenkonstanten beispielsweise ein \n für einen Zeilenumbruch, ein \t für ein Tabulatorzeichen und ein \" für ein Anführungszeichen (während das einfache " nicht Teil einer Zeichenketten-Konstanten ist, sondern deren Ende bezeichnet). Eine solche Zeichenfolge wird in Übertragung der alten Funktionsbezeichnung ebenfalls Escape-Sequenz genannt, obwohl das eigentliche ESC-Zeichen dabei keine Verwendung mehr findet. In ähnlicher Weise wird von Microsoft Word in der Bearbeitungsfunktion „Suchen und Ersetzen“ das Zeichen ^ verwendet, beispielsweise ^t für den Tabulator.

Verwendung zur Druckersteuerung

Nach wie vor werden Escape-Sequenzen bei der Ansteuerung von Druckern verwendet. Beispiele für weit verbreitete Escape-Sequenz-basierte Druckersprachen sind:

Manche Drucker arbeiten dagegen nicht mit Escape-Sequenzen, sondern beispielsweise mit Seitenbeschreibungssprachen wie PostScript oder empfangen Befehle über eine separate Steueradresse auf dem Bus (z. B. bei Commodore-Rechnern).

Verwendung zur Terminalsteuerung

Im Terminalbereich sind die ANSI-Escapesequenzen, welche auf den Escape-Sequenzen des Terminals VT100 beruhen, weit verbreitet.[2] Sie wurden als ANSI X3.41-1974 und X3.64-1977 bzw. ECMA-48 (1976) allgemeiner Standard. Sequenzen bestehen dabei aus dem Steuerzeichen Escape und einer Folge von druckbaren Zeichen. ECMA-48 erhielt 1991 seine fünfte und letzte Erweiterung[3] und wurde auch als ISO/IEC 6429 standardisiert.

Beispiele: ESC c (Terminal zurücksetzen), 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, die virtuellen Konsolen und Terminal-Fenster der meisten Unix-artigen Betriebssysteme (wie beispielsweise Mac OS X und Linux) oder auch die Shell des AmigaOS diese Sequenzen ebenfalls unterstützen.

In C und verwandten Programmiersprachen

In C und zu C verwandten Programmiersprachen wie C++, C#, Java, awk, Perl und JavaScript können in Zeichenfolgen durch folgende Escape-Sequenzen häufig benötigte Steuerzeichen eingefügt werden (wobei nicht alle dieser Sprachen alle hier aufgeführten Sequenzen unterstützen). 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
\a akustisches Signal (von englisch alert)
\b Rückschritt (von englisch backspace)
\e Ansi Escape, hexadezimal 0x1B (von englisch escape)

Ein Escapezeichen für eine höhere Interpretationsebene, siehe oben. Nicht Bestandteil von ISO C und ISO C++

\f Seitenvorschub (von englisch form feed)
\n Zeilenvorschub (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 '@'.
Die Kurzform mit einer oder zwei Oktalziffern kann nur benutzt werden, wenn keine weitere Oktalziffer folgt.\0 (Nullzeichen, NUL) 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
Kategorien: Programmierung | Zeichenkodierung

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Escape-Sequenz (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.