Escape-Sequenzen

Top  Previous  Next

Glossar > Escape-Sequenzen

 

Escape-Sequenzen können zur Repräsentation nicht darstellbarer Zeichen. Eine Escape-Sequenz beginnt stets mit dem Backslash. Z..B. steht \n für das Zeichen "Zeilenvorschub".

 

Ein Backslash in Kombination mit oktalen oder hexadezimalen Zahlen repräsentiert den ASCII- oder Steuercode, der diesem Wert entspricht, z.B. '\03' für Ctrl-C oder '\x3F' für das Fragezeichen. Eine Escape-Sequenz kann einen String mit bis zu drei oktalen oder beliebig vielen hexadezimalen Ziffern umfassen, vorausgesetzt, der Wert liegt im zulässigen Bereich des Datentyps char (0 bis 0xff). (Bei der Definition von regulären Ausdrücken werden nur zwei hexadezimale Zeichen ausgewertet.) Größere Zahlen liefern den Compilerfehler "value is too large". Die Oktalzahl \777 ist zum Beispiel größer als der zulässige Höchstwert \377 und ergibt somit einen Fehler. Das erste nicht-oktale oder nicht-hexadezimale Zeichen in einer oktalen oder hexadezimalen Escape-Sequenz markiert das Ende der Sequenz.

 

Sehen Sie dieses Beispiel:

 

out << "\x0072.1A rudimentäres Betriebssystem";

 

Diese Zeile soll als \x007 und "2.1A rudimentäres Betriebssystem" interpretiert werden. Tatsächlich wird \x0072 jedoch als hexadezimale Zahl und ".1A rudimentäres Betriebssystem" als literaler String interpretiert.

 

Zur Umgehung derartiger Probleme sollte die Programmzeile folgendermaßen neu geschrieben werden:

 

out << "\x007" "2.1A rudimentäres Betriebssystem";

 

Mehrdeutigkeiten entstehen auch, wenn auf eine oktale Escape-Sequenz eine nicht-oktale Ziffer folgt. Da 8 und 9 unzulässige oktale Ziffern sind, würde z.B. die Konstante \258 als Zwei-Zeichen-Konstante interpretiert, die sich aus den zwei Zeichen \25 und 8 zusammensetzt.

 

In der folgenden Tabelle sind alle Escape-Sequenzen zusammengefasst, die sowohl in literalen Token als auch in regulären Ausdrücken verwendet werden können. Für reguläre Ausdrücke gibt es noch weitere Escape-Sequenzen.

 

Hinweis: Sie müssen den (typischerweise in Pfadnamen verwendeten) Backslash verdoppeln (also "\\" angeben), um ihn als ANSI-Backslash gelten zu lassen.

 

 

Sequenz

Wert

Zeichen

Bedeutung

\a

0x07

BEL

Alarmton

\b

0x08

BS

Backspace

\f

0x0C

FF

Seitenvorschub

\n

0x0A

LF

Zeilenvorschub

\r

0x0D

CR

Wagenrücklauf

\t

0x09

HT

Tabulator (horizontal)

\v

0x0B

VT

Tabulator (vertikal)

\\

0x5c

\

Backslash (umgekehrter Schrägstrich)

\'

0x27

'

Einfaches Anführungszeichen (Apostroph)

\"

0x22

"

Doppeltes Anführungszeichen

\?

0x3F

?

Fragezeichen

\O

 

beliebig

O = ein String mit 1 bis 3 Oktalziffern

\xH

 

beliebig

H = ein String mit Hex-Ziffern

\XH

 

beliebig

H = ein String mit Hex-Ziffern

 

 

 



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English