Escapar y Desescapar Cadenas

Escapa caracteres especiales en cadenas para JSON, JavaScript, Java, Python o XML — y desescápalos de vuelta.

Características

Escape para JSON
Escape para JavaScript
Escape para Java
Escape para Python
Escape para XML

Cómo Usar

1. Selecciona el lenguaje (JSON, JavaScript, Java, Python, XML).

2. Selecciona Escapar o Desescapar.

3. Pega tu cadena y copia el resultado.

Sobre esta herramienta

Los caracteres especiales como las comillas, las barras invertidas y los saltos de línea tienen que escribirse como secuencias de escape antes de poder ir dentro de un literal de cadena en código o datos. Las reglas cambian de un lenguaje a otro, y ahí es donde el texto copiado y pegado provoca errores de sintaxis y configuraciones rotas. Esta herramienta escapa o desescapa texto para cinco destinos: JSON, JavaScript, Java, Python y XML. El escapado JSON sigue a JSON.stringify, así que las comillas, las barras invertidas y los caracteres de control se convierten en \", \\, \n y escapes \u; los modos JavaScript, Java y Python tratan las comillas, las barras invertidas y los caracteres de control habituales para sus literales de cadena; XML convierte &, <, >, " y ' en entidades. Pega el texto, elige el lenguaje y la dirección, y copia el resultado en tu código.

Preguntas Frecuentes

¿Cuándo necesito escapar una cadena?
Siempre que el texto vaya dentro de un literal de cadena o de un formato de datos que use algunos caracteres como sintaxis, por ejemplo una comilla dentro de un valor JSON, una barra invertida de una ruta de Windows en JavaScript o un ampersand dentro de XML.
¿Qué diferencia hay entre el escapado JSON y el de JavaScript?
Las cadenas JSON deben usar comillas dobles y escapar los caracteres de control como \n, \t o \u00XX. JavaScript también admite cadenas con comillas simples y plantillas, así que su escapado trata además las comillas simples y puede escribir los caracteres de control como escapes \x.
¿Cómo se representan los saltos de línea tras el escapado?
Un salto de línea real se convierte en los dos caracteres \n (y un retorno de carro en \r), de modo que todo el texto cabe en una línea de código. Al desescapar vuelven a ser saltos de línea reales.
¿Basta con escapar para evitar ataques de inyección?
Escapar según el contexto adecuado ayuda, pero para SQL usa consultas parametrizadas, para HTML usa las plantillas de tu framework y para comandos de shell evita construir cadenas a partir de la entrada del usuario. El escapado manual es fácil de hacer mal.
¿Por qué al desescapar algunas secuencias no cambian?
Solo se convierten las secuencias válidas en el lenguaje seleccionado. Si una cadena se escapó para otro lenguaje, por ejemplo entidades XML en modo JSON, cambia primero al modo correspondiente.

Herramientas Relacionadas