Escape-Sequenz
Englisch: escape sequence
Ein Escape-Zeichen zusammen mit nachfolgenden Zeichen, die nicht wie geschrieben ausgegeben werden, sondern ein bestimmtes Verhalten angeben.
Escape-Sequenz: Code, der Geräte zu einer anderen Aktion anweist
Eine Escape-Sequenz ist eine Zeichenkette, die ein Gerät oder System anweist, eine andere Aktion auszuführen, als diese Zeichen wörtlich anzuzeigen oder auszudrucken. Sie beginnt mit einem Sonderzeichen, normalerweise das ASCII-Escape-Zeichen (hex 1B, dezimal 27), gefolgt von einem oder mehreren zusätzlichen Zeichen, die das gewünschte Verhalten definieren. Das empfangende Gerät interpretiert die gesamte Sequenz als Befehl statt als Text.
In der Elektrotechnik und industriellen Steuerungssystemen werden Escape-Sequenzen häufig in Terminal-Schnittstellen, speicherprogrammierbaren Steuerungen (SPS) und seriellen Kommunikationen verwendet. Ein häufiges Beispiel ist die ANSI-Escape-Sequenz, die die Textformatierung auf Terminal-Displays steuert: Die Sequenz ESC[31m weist ein Terminal an, die Textfarbe auf Rot umzuschalten. Ein anderer Standard ist die Escape-Sequenz für Glockenzeichen oder Alarm: ESC G löst in einigen älteren Systemen einen Signalton aus. Industrielle Drucker und Etikettendrucker verwenden Escape-Sequenzen, um Schriften zu wechseln, die Druckdichte anzupassen oder den Papiertransport zu steuern.
Varianten und Protokolle
Verschiedene Gerätefamilien erkennen unterschiedliche Escape-Sequenz-Dialekte. VT100-Terminal-Emulations-Sequenzen (vom Digital Equipment Corporation Standard) sind in industriellen Umgebungen weit verbreitet und verwenden das Format ESC gefolgt von einer Klammer und alphanumerischen Parametern. Drucksteuersprachen wie ESC/P (Epson Standard Code for Printers) definieren Sequenzen für Seitenränder, Zeilenabstand und Druckmodus. RS-232-Seriengeräte können herstellereigene Sequenzen verwenden. Unicode- und UTF-8-Umgebungen nutzen völlig andere Escape-Konventionen und betten Escape-Sequenzen in mehrbyte-Zeichenkodierungen ein.
Probleme entstehen, wenn ein System eine Escape-Sequenz empfängt, die es nicht erkennt, oder wenn Daten, die Byte-Sequenzen ähnlich wie Escape-Zeichen enthalten, versehentlich als Befehl interpretiert werden. Eine beschädigte Serienverbindung oder falsche Terminal-Typ-Einstellung kann dazu führen, dass lesbare Text zu garbled Steuerungscodes wird. Ältere Geräte sind oft auf spezifische Escape-Sequenz-Dialoge angewiesen; das Ersetzen oder Patchen solcher Systeme erfordert sorgfältige Überprüfung, dass neue Firmware oder Treiber identische Sequenzen erzeugen.
Der Name stammt aus der Erfahrung des Maschinenschreibers auf mechanischen Fernschreibern: Die Escape-Taste auf frühen Tastaturen signalisierte, dass die folgenden Zeichen als spezielle Anweisung und nicht als normaler auszudruckender Text interpretiert werden sollten. Diese Konvention setzte sich in elektronischen Systemen fort und bleibt die Grundlage für die Escape-Sequenz-Architektur in modernen Industriegeräten, von CNC-Maschinen bis zu vernetzten Instrumenten-Displays.