Flucht-Charakter

In der Computerwissenschaft und dem Fernmeldewesen ist ein Flucht-Charakter ein Charakter, der eine alternative Interpretation auf nachfolgenden Charakteren in einer Charakter-Folge anruft. Ein Flucht-Charakter ist ein besonderer Fall von metacharacters. Allgemein, das Urteil dessen, ob etwas ein Flucht-Charakter oder nicht ist von Zusammenhang abhängt.

Definition

Flucht-Charaktere sind ein Teil der Syntax für viele Programmiersprachen, Datenformate und Nachrichtenprotokolle. Für ein gegebenes Alphabet ist ein Flucht-Charakter-Zweck, Charakter-Folgen anzufangen (so genannt Flucht-Folgen), die verschieden von demselben Charakter-Auftreten allein interpretiert werden müssen. Ein Flucht-Charakter kann seine eigene Bedeutung nicht haben, so sind alle Flucht-Folgen 2 oder mehr Charaktere.

Es gibt gewöhnlich zwei Funktionen von Flucht-Folgen. Das erste soll eine syntaktische Entität, wie Gerät-Befehle oder spezielle Daten verschlüsseln, die durch das Alphabet nicht direkt vertreten werden können. Der zweite Gebrauch, gekennzeichnet als Charakter-Bezug, soll Charaktere vertreten, die im aktuellen Zusammenhang nicht getippt werden können, oder eine unerwünschte Interpretation haben würden. Im letzten Fall ist eine Flucht-Folge ein Digraph, der aus einem Flucht-Charakter selbst und einem "angesetzten" Charakter besteht.

Kontrollcharakter

Allgemein ist ein Flucht-Charakter nicht ein besonderer Fall (des Geräts) Kontrollcharaktere, noch umgekehrt. Wenn wir Kontrollcharaktere als nichtgrafisch definieren, oder als, eine spezielle Bedeutung für ein Produktionsgerät (z.B Drucker oder Textterminal) dann zu haben, ist jeder Flucht-Charakter für dieses Gerät eine Kontrolle ein. Aber Flucht-Charaktere, die in der Programmierung (sieh unten) verwendet sind, sind grafisch, folglich sind nicht kontrollieren Charaktere. Umgekehrt haben meiste (aber nicht alle) des ASCII "Kontrollcharaktere" etwas Kontrollfunktion in der Isolierung, deshalb sind nicht entkommen Charakteren.

Auf vielen Programmiersprachen bildet ein Flucht-Charakter auch einige Flucht-Folgen, die verwiesen werden, um Charaktere zu kontrollieren. Zum Beispiel hat Linienbrechung eine Flucht-Folge dessen.

Beispiele

ASCII entkommen Charakter

Die ASCII "entkommen" Charakter (Oktal-: \033, oder ^ [oder, in der Dezimalzahl, 27) wird in vielen Produktionsgeräten verwendet, um anzufangen, eine Reihe von Charakteren hat eine Kontrollfolge oder Flucht-Folge genannt. Gewöhnlich wurde der Flucht-Charakter zuerst in solch einer Folge gesandt, um das Gerät zu alarmieren, dass die folgenden Charaktere als eine Kontrollfolge aber nicht als einfache Charaktere interpretiert werden sollten, dann würden ein oder mehr Charaktere folgen, um etwas ausführliche Handlung anzugeben, nach der das Gerät zur Interpretation von Charakteren normalerweise zurückgehen würde. Zum Beispiel würde die Folge von ^ [gefolgt von den druckfähigen Charakteren, einen DEZ VT102 Terminal veranlassen, seinen Cursor zur 10. Zelle der 2. Linie des Schirms zu bewegen. Das wurde später zu ANSI-Flucht-Codes entwickelt, die durch den ANSI X3.64 Standard bedeckt sind. Der Flucht-Charakter fängt auch jede Befehl-Folge auf der Drucker-Befehl-Sprache von Hewlett Packard an.

Die frühe Verweisung auf den Begriff "Flucht--Charakter" wird in IBM von Bob Bemer technische Veröffentlichungen gefunden. Anscheinend ist es er, der diesen Mechanismus während seiner Arbeit an der ASCII Codierung erfunden hat.

Der Flucht-Schlüssel wird gewöhnlich auf Standard-PC-Tastaturen gefunden. Jedoch fehlt es von Tastaturen für PDAs und andere Geräte nicht entworfen in erster Linie für ASCII Kommunikationen, und nicht allgemein verwendet als ein Teil der Standard-Benutzeroberfläche für Anwendungen auf Windows Betriebssystem allgemein. Systeme von Linux oder Anwendungen wie FireFox, verwenden häufig den Schlüssel als die funktionelle Entsprechung zum Klicken auf einer Taste Cancel mit einer Maus. Die VT220 Reihe im DEZ war eine der wenigen populären Tastaturen, die keinen hingebungsvollen Schlüssel von Esc stattdessen mit einem der Schlüssel über der Haupttastatur hatten. In Benutzerschnittstellen der 1980er Jahre der 1970er Jahre war es ziemlich üblich, diesen Schlüssel als ein Flucht-Charakter zu verwenden, aber in modernen Tischcomputern ist solcher Gebrauch fallen gelassen. Manchmal wurde der Schlüssel mit AltMode (für die alternative Weise) identifiziert. Sogar ohne hingebungsvollen Schlüssel konnte der Flucht-Charakter-Code durch das Schreiben' [erzeugt werden', während man gleichzeitig den Kontrollschlüssel, 'Ctrl' unterdrückt hat.

Die Programmierung und Datenformate

Viele moderne Programmiersprachen geben den doublequote Charakter als ein Begrenzungszeichen für eine wörtliche Schnur an. Der umgekehrte Schrägstrich Flucht-Charakter stellt zwei Weisen zur Verfügung, doublequotes innerhalb einer wörtlichen Schnur einzuschließen, entweder durch das Ändern der Bedeutung des doublequote in der Schnur eingebetteten Charakters, (wird) oder durch das Ändern der Bedeutung der drei Charaktere, die der hexadecimal Wert eines doublequote Charakters sind (wird).

In Perl oder Pythonschlange

:

drucken Sie "Nancy hat "Hallo Welt gesagt!" zur Menge.";

</Quelle>

erzeugt einen Syntax-Fehler, wohingegen:

:

drucken Sie "Nancy hat \"Hallo Welt gesagt! \" zur Menge."; ### Beispiel \"

</Quelle>

erzeugt die beabsichtigte Produktion.

Eine andere Alternative:

:

drucken Sie "Nancy hat \x22Hello Welt gesagt! \x22 zu ihnen."; ### Beispiel von \x22

</Quelle>

verwendet numerische Flucht-Folge von hexadecimal "x22" für einen quotemark. Das würde den erforderlichen Text, wenn geführt, auf einer non-ASCII Maschine nicht erzeugen.

C C ++, und Java erlauben alle genau dieselben zwei Flucht-Stile des umgekehrten Schrägstrichs. Die Sprache von PostScript und das Textformat von Microsoft Rich verwenden auch Flüchte des umgekehrten Schrägstrichs. Das angesetzte - druckfähige Verschlüsselung verwendet das Gleichheitszeichen als ein Flucht-Charakter.

URL-ADRESSE und URI verwenden % - Flüchte, um Charaktere mit einer speziellen Bedeutung bezüglich non-ASCII Charaktere anzusetzen. Das Und-Zeichen Charakter kann als ein Flucht-Charakter in SGML betrachtet werden und hat Formate wie HTML und XML abgeleitet.

Ein anderer ähnlich (und teilweise überlappend) syntaktischer Trick zieht ab.

Einige Programmiersprachen stellen auch andere Weisen zur Verfügung, spezielle Charaktere in Druckfehlern zu vertreten, ohne einen Flucht-Charakter zu verlangen (sieh z.B Begrenzungszeichen-Kollision).

Nachrichtenprotokolle

Das Punkt-zu-Punkt-Protokoll verwendet das 0x7D Oktett (\175, oder ASCII:}) als ein Flucht-Charakter. Das Oktett sofort folgender sollte XORed durch 0x20 sein, bevor es zu einem höheren Niveau-Protokoll passiert wird. Das wird sowohl auf 0x7D selbst als auch auf den Kontrollcharakter 0x7E angewandt (der in PPP verwendet wird, um den Anfang und das Ende eines Rahmens zu kennzeichnen), wenn jene Oktette durch ein höheres Niveau-Protokoll übersandt werden müssen, das durch PPP, sowie andere verhandelte Oktette kurz zusammengefasst ist, wenn die Verbindung gegründet wird. D. h. wenn ein höheres Niveau-Protokoll 0x7D übersenden möchte, wird es als die Folge 0x7D 0x5D übersandt, und 0x7E wird als 0x7D 0x5E übersandt.

Bach-Schale

In der Bach-Schale (sch) das Sternchen und Fragezeichen sind Charaktere über globbing ausgebreitete Wildcard-Charaktere. Ohne einen vorhergehenden Flucht-Charakter breitet sich ein Wille zu den Namen aller Dateien im Arbeitsverzeichnis aus, die mit einer Periode iff nicht anfangen, gibt es solche Dateien, sonst bleibt unausgebreitet. So, um sich auf eine Datei wörtlich genannt "*" zu beziehen, muss die Schale gesagt werden, es auf diese Weise, durch das Vorangehen ihm mit einem umgekehrten Schrägstrich nicht zu interpretieren. Das modifiziert die Interpretation des Sternchens . Vergleichen Sie sich:

Schneller Windows-Befehl

Der Windows-Dolmetscher der Befehl-Linie verwendet einen Auslassungszeichen-Charakter , um vorbestellten Charakteren zu entkommen, die spezielle Bedeutungen haben (insbesondere:). Der DOS-Dolmetscher der Befehl-Linie, obwohl es ähnliche Syntax unterstützt, unterstützt das nicht.

Zum Beispiel, auf dem Schnellen Windows-Befehl, wird das auf einen Syntax-Fehler hinauslaufen.

:

Echo

</Quelle>

wohingegen dieser Produktion die Schnur wird:

:

Echo ^

</Quelle>

Andere

  • Angesetzt - druckfähig der 8-Bit-Daten in 7-Bit-Daten von beschränkten Linienlängen verschlüsselt, verwendet das Gleichheitszeichen "=" als ein Flucht-Charakter.

Siehe auch

  • Sich neigendes Zahnstocher-Syndrom

Links


Platzen-Fehler / Wesentlicher Dienst (Fernmeldewesen)
Impressum & Datenschutz