100 % local: tus datos nunca salen de tu navegador

Desescapar Java — lee un literal del código

Decodifica un literal Java a texto, con \uXXXX y pares suplentes incluidos: una línea sacada de un archivo .java vuelve a ser legible tal cual.

Instantáneo Privado Cero cookies

Entrada Java Escaped

Salida Text

Qué hace esta herramienta

Lee el contenido de un literal de cadena Java y devuelve el texto que representa. Las formas con nombre \n, \r, \t, \b, \f y \0 vuelven a ser sus caracteres, \uXXXX se decodifica, y un par suplente escrito como \ud83d\ude00 se recompone en el único carácter que codifica: así es como hay que escribir cualquier carácter por encima de U+FFFF en un literal Java.

Como Java escapa todo carácter no ASCII al salir, este es el paso que vuelve legible un literal escapado: un muro de é y 中 recupera el texto acentuado y CJK que representa.

En qué se diferencia Java

El conjunto de Java es más pequeño que el de JavaScript. No hay \v ni \a: ambos salen como la letra desnuda, v y a, en lugar de un carácter de control que el lenguaje nunca tuvo. Los escapes octales, en cambio, se decodifican por completo: \0 da NUL, \101 da A, y la forma de tres dígitos solo se acepta si el primero va de 0 a 3, que es lo que dice la propia gramática de Java.

En sentido contrario, la herramienta es más permisiva que el compilador. \u{1F600} y \xNN se aceptan porque aparecen sin parar en texto copiado entre lenguajes, pero ninguno es Java válido: javac los rechaza.

Qué no hace

Decodifica el contenido de un literal, no una expresión Java: nada se concatena, y los bloques de texto (""") tienen sus propias reglas de espaciado incidental que esta herramienta no aplica.

Privado por diseño

Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.

Preguntas frecuentes

¿Por qué `\v` no da una tabulación vertical?
Porque Java no tiene `\v`. Decodificarlo sería resolver algo que `javac` rechaza de plano, así que la herramienta devuelve la letra `v` desnuda en vez de inventar un carácter de control.
¿`\u{...}` y `\xNN` son Java válido?
No. Se aceptan aquí porque aparecen en texto copiado entre lenguajes, pero `javac` rechaza los dos. Solo `\uXXXX` es Java de verdad.
¿Y los escapes octales?
Se decodifican, exactamente como hace Java. `\101` da `A` y `\012` un salto de línea. Tres dígitos solo si el primero va de 0 a 3 —la regla del propio Java—, así que `\400` es `\40` seguido del texto `0`.

Convertidores relacionados