Was sind alle Fluchtzeichen?


117

Ich kenne einige der Escape-Zeichen in Java, z

\n : Newline
\r : Carriage return
\t : Tab
\\ : Backslash
...

Gibt es irgendwo eine vollständige Liste?


11
Dies ist in der Java Language Spec
Skaffman

2
Stellen Sie im Internet keine Fragen zu Dingen, die Sie genauso einfach oder einfacher selbst nachschlagen können. Sie laufen Gefahr, schwerwiegende Fehler zu machen.
Marquis von Lorne

Antworten:


184

Die vollständige Liste finden Sie hier .

  • \t Fügen Sie an dieser Stelle eine Registerkarte in den Text ein.
  • \b Fügen Sie an dieser Stelle eine Rücktaste in den Text ein.
  • \n Fügen Sie an dieser Stelle eine neue Zeile in den Text ein.
  • \r Fügen Sie an dieser Stelle einen Wagenrücklauf in den Text ein.
  • \f Fügen Sie an dieser Stelle einen Formularvorschub in den Text ein.
  • \' Fügen Sie an dieser Stelle ein einfaches Anführungszeichen in den Text ein.
  • \" Fügen Sie an dieser Stelle ein doppeltes Anführungszeichen in den Text ein.
  • \\ Fügen Sie an dieser Stelle ein Backslash-Zeichen in den Text ein.

29
Die Liste fehlt Unicode und Oktal-Escapezeichen: \ u1234 \ 012 \ 01 \ 0
Sampo


Es fehlen auch das Glockenzeichen \aund das Nullzeichen \0.
Bvdb

9
\akompiliert nicht in javac 1.8.0_20:illegal escape character: String test = "\a";
Ehryk

3
"Unicode-Escapezeichen werden vor der Ausführung des Compilers vorverarbeitet." - Mark Peters . Sie unterscheiden sich also von den hier aufgeführten Standard-String-Escapezeichen. Danke Jan für den Kommentar zu dieser Antwort
Josiah Yoder

43
Java Escape Sequences:

\u{0000-FFFF}  /* Unicode [Basic Multilingual Plane only, see below] hex value 
                  does not handle unicode values higher than 0xFFFF (65535),
                  the high surrogate has to be separate: \uD852\uDF62
                  Four hex characters only (no variable width) */
\b             /* \u0008: backspace (BS) */
\t             /* \u0009: horizontal tab (HT) */
\n             /* \u000a: linefeed (LF) */
\f             /* \u000c: form feed (FF) */
\r             /* \u000d: carriage return (CR) */
\"             /* \u0022: double quote (") */
\'             /* \u0027: single quote (') */
\\             /* \u005c: backslash (\) */
\{0-377}       /* \u0000 to \u00ff: from octal value 
                  1 to 3 octal digits (variable width) */

Die grundlegende mehrsprachige Ebene sind die Unicode-Werte von 0x0000 - 0xFFFF (0 - 65535). Zusätzliche Ebenen können in Java nur durch mehrere Zeichen angegeben werden: Die ägyptische Heiroglyphe A054 (Typ festlegen) ist U+1303F/ 𓀿und müsste "\uD80C\uDC3F"für Java-Zeichenfolgen in (UTF-16) unterteilt werden. Einige andere Sprachen unterstützen höhere Ebenen mit "\U0001303F".


Die vorhandene Antwort behandelt keine Unicode- und Oktal-Escape-Sequenzen in Java.
Ehryk

2
\u000anicht zu funktionieren scheint -> - invalid character constant mehr sehen hier
Jan

6
@ Jan Es funktioniert, vielleicht zu gut. Im Gegensatz zu beispielsweise \rund \nwerden Unicode-Escapezeichen vorverarbeitet, bevor der Compiler ausgeführt wird, wie in der von Ihnen verknüpften Frage angegeben. Als solches fügt es einen wörtlichen Zeilenvorschub in Ihren Code ein und schlägt dadurch fehl. Der Escape-Code "funktioniert" jedoch so, wie er in der Spezifikation funktionieren sollte.
Ehryk


0

Dies sind Escape-Zeichen, mit denen Zeichenfolgen bearbeitet werden.

\t  Insert a tab in the text at this point.
\b  Insert a backspace in the text at this point.
\n  Insert a newline in the text at this point.
\r  Insert a carriage return in the text at this point.
\f  Insert a form feed in the text at this point.
\'  Insert a single quote character in the text at this point.
\"  Insert a double quote character in the text at this point.
\\  Insert a backslash character in the text at this point.

Lesen Sie hier mehr darüber.

http://docs.oracle.com/javase/tutorial/java/data/characters.html

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.