Какие все escape-символы?


118

Я знаю некоторые escape-символы в Java, например

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

Есть где-нибудь полный список?


11
Это находится в спецификации языка Java
skaffman 02

2
Не задавайте в Интернете вопросов о том, что вы можете так же легко или легче найти для себя. Вы рискуете совершить серьезную ошибку.
Marquis of Lorne

Ответы:


184

Вы можете найти полный список здесь .

  • \t Вставьте табуляцию в текст в этом месте.
  • \b В этом месте вставьте в текст пробел.
  • \n Вставьте новую строку в текст в этом месте.
  • \r Вставьте в текст в этот момент возврат каретки.
  • \f Вставьте форму в текст на этом месте.
  • \' В этот момент вставьте в текст одинарную кавычку.
  • \" Вставьте в текст в этот момент двойные кавычки.
  • \\ Вставьте в текст в этом месте символ обратной косой черты.

29
В списке отсутствуют Unicode и восьмеричные escape-последовательности: \ u1234 \ 012 \ 01 \ 0
Sampo,


Также отсутствует символ звонка \aи нулевой символ \0.
bvdb 05

9
\aне компилируется в javac 1.8.0_20:illegal escape character: String test = "\a";
Ehryk

3
«Экраны Unicode предварительно обрабатываются перед запуском компилятора». - Марк Питерс . Таким образом, они отличаются от перечисленных здесь стандартных экранирований строк. Спасибо, Ян, за комментарий к этому ответу
Джозайя Йодер

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) */

Basic Multilingual Plane это значение Юникода от 0x0000 - 0xFFFF (0 - 65535). Дополнительные плоскости могут быть указаны в Java только несколькими символами: египетский иероглиф A054 (лежащий чувак) есть U+1303F/ 𓀿и должен быть разбит на "\uD80C\uDC3F"(UTF-16) для строк Java. Некоторые другие языки поддерживают высшие планы с "\U0001303F".


Существующий ответ не касается Unicode и восьмеричных escape-последовательностей в Java.
Эрик

2
\u000aне работает -> - invalid character constant подробнее здесь
янв.,

6
@Jan Это работает, возможно, слишком хорошо. В отличие от, например, \rи \n, escape-последовательности Unicode предварительно обрабатываются перед запуском компилятора в соответствии с вопросом, на который вы ссылаетесь. Таким образом, он вставляет буквальный перевод строки в ваш код и из-за этого не работает. Однако escape-код «работает», как и предполагалось в спецификации.
Ehryk

0

Да, ниже приведена ссылка на docs.Oracle, где вы можете найти полный список escape-символов в Java.

Escape-символам всегда предшествует "\", и они используются для выполнения определенной задачи, например перехода к следующей строке и т. Д.

Для получения дополнительных сведений о escape-символах перейдите по следующей ссылке:

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


0

Это управляющие символы, которые используются для управления строкой.

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

Подробнее о них читайте здесь.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.