Jakie są wszystkie postacie ucieczki?


118

Znam niektóre znaki ucieczki w Javie, np

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

Czy jest gdzieś pełna lista?



2
Nie zadawaj w Internecie pytań o rzeczy, które możesz równie łatwo lub łatwiej znaleźć samodzielnie. Ryzykujesz poważny błąd.
Markiz Lorne

Odpowiedzi:


184

Pełną listę znajdziesz tutaj .

  • \t W tym miejscu wstaw tabulator w tekście.
  • \b W tym miejscu wstaw w tekście spację.
  • \n W tym miejscu wstaw nowy wiersz w tekście.
  • \r W tym miejscu wstaw znak powrotu karetki w tekście.
  • \f W tym miejscu w tekście należy wstawić feedfeed.
  • \' W tym miejscu wstaw w tekście pojedynczy znak cudzysłowu.
  • \" W tym miejscu wstaw w tekście znak podwójnego cudzysłowu.
  • \\ W tym miejscu wstaw w tekście znak ukośnika odwrotnego.

29
Na liście brakuje znaków unikodowych i ósemkowych: \ u1234 \ 012 \ 01 \ 0
Sampo,


Brakuje również znaku dzwonka \ai znaku zerowego \0.
bvdb

9
\anie kompiluje się w javac 1.8.0_20:illegal escape character: String test = "\a";
Ehryk

3
„Ucieczki Unicode są wstępnie przetwarzane przed uruchomieniem kompilatora”. - Mark Peters . Więc różnią się one od standardowych znaków ucieczki String wymienionych tutaj. Dziękuję Jan za komentarz do tej odpowiedzi
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) */

Podstawowe wielojęzyczny Samolot jest wartości Unicode 0x0000 - 0xFFFF (0 - 65535). Dodatkowe płaszczyzny można określić w Javie tylko za pomocą wielu znaków: egipski heiroglif A054 (układający koleś) jest U+1303F/ 𓀿i musiałby zostać podzielony na "\uD80C\uDC3F"(UTF-16) dla łańcuchów Java. Niektóre inne języki obsługują wyższe samoloty z "\U0001303F".


Istniejąca odpowiedź nie dotyczy sekwencji ucieczki Unicode i ósemkowej w Javie.
Ehryk

2
\u000anie wydaje się działać -> - invalid character constant zobacz więcej tutaj
styczeń

6
@Jan Działa, być może zbyt dobrze. W przeciwieństwie do na przykład \ri \n, sekwencje znaków Unicode są wstępnie przetwarzane przed uruchomieniem kompilatora, jak określa pytanie, z którym łączysz się. W związku z tym wstawia dosłowny kanał do kodu i kończy się niepowodzeniem z tego powodu. Jednak kod ucieczki „działa” zgodnie z przeznaczeniem do pracy w specyfikacji.
Ehryk


0

Są to znaki ucieczki, które są używane do manipulowania łańcuchem.

\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.

Przeczytaj więcej o nich tutaj.

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.