Quais são todos os personagens de escape?


118

Eu conheço alguns dos caracteres de escape em Java, por exemplo

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

Existe uma lista completa em algum lugar?



2
Não faça perguntas na Internet sobre coisas que você pode pesquisar por si mesmo com a mesma facilidade ou mais facilidade. Você corre o risco de erro grave.
Marquês de Lorne

Respostas:


184

Você pode encontrar a lista completa aqui .

  • \t Insira uma tabulação no texto neste ponto.
  • \b Insira um backspace no texto neste ponto.
  • \n Insira uma nova linha no texto neste ponto.
  • \r Insira um retorno de carro no texto neste ponto.
  • \f Insira um avanço de formulário no texto neste ponto.
  • \' Insira um caractere de aspas simples no texto neste ponto.
  • \" Insira um caractere de aspas duplas no texto neste ponto.
  • \\ Insira um caractere de barra invertida no texto neste ponto.

29
A lista está sem Unicode e escapes octais: \ u1234 \ 012 \ 01 \ 0
Sampo


Também está faltando o caractere de sino \ae o caractere nulo \0.
bvdb

9
\anão compila em javac 1.8.0_20:illegal escape character: String test = "\a";
Ehryk

3
"Escapes Unicode são pré-processados ​​antes que o compilador seja executado." - Mark Peters . Portanto, eles são diferentes dos escapes String padrão listados aqui. Obrigado Jan pelo comentário a esta resposta
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) */

O plano multilíngue básico são os valores unicode de 0x0000 - 0xFFFF (0 - 65535). Planos adicionais só podem ser especificados em Java por vários caracteres: o heiróglifo egípcio A054 (que estabelece cara) é U+1303F/ 𓀿e teria que ser quebrado em "\uD80C\uDC3F"(UTF-16) para strings Java. Alguns outros idiomas suportam planos superiores com "\U0001303F".


A resposta existente não aborda as sequências de escape unicode e octal em Java.
Ehryk

2
\u000anão parece funcionar -> - invalid character constant veja mais aqui
janeiro

6
@Jan Está funcionando, talvez bem demais. Ao contrário de, por exemplo, \re \n, os escapes unicode são pré-processados ​​antes que o compilador seja executado, conforme a pergunta que você vinculou especifica. Como tal, ele está inserindo uma alimentação de linha literal em seu código e falhando por causa disso. No entanto, o código de escape está "funcionando", pois foi planejado para funcionar na especificação.
Ehryk de


0

São caracteres de escape usados ​​para manipular strings.

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

Leia mais sobre eles aqui.

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.