DevToolPal
ES

Escapar y desescapar cadenas

Escapa o desescapa cadenas para JSON, JavaScript, Java/C#, Python, SQL, CSV, XML, expresiones regulares y comandos de shell.

Se ejecuta en local, nunca se sube

Opciones

Modo

Entrada

0 caracteres · 0 B

Salida

0 caracteres · 0 B

Qué hace

La herramienta para escapar cadenas convierte texto en una forma que puede ir dentro de un literal de cadena, y convierte cadenas escapadas de nuevo en texto normal. Admite nueve destinos: JSON, JavaScript, Java y C#, Python, literales de cadena SQL, campos CSV, texto y atributos XML, expresiones regulares y comandos de shell POSIX. Cada uno sigue las reglas de su lenguaje, así que el resultado se puede pegar directamente en el código sin errores de sintaxis.

Usos típicos: poner un mensaje de varias líneas o una ruta de Windows en un archivo de configuración JSON, incrustar un fragmento de HTML en una cadena de JavaScript, entrecomillar un nombre de archivo con espacios para un script de shell o convertir un término de búsqueda literal como price (USD) en una expresión regular que lo encuentre exactamente.

Cómo se usa

  1. Elige Escapar o Desescapar.
  2. Elige el lenguaje o formato.
  3. Pega el texto en la entrada o pulsa Ejemplo. El resultado se actualiza mientras escribes.
  4. Copia la salida o pulsa Usar como entrada para invertir la conversión y comprobar que vuelve al original.

En JSON, JavaScript, Java/C# y Python también puedes escapar todos los caracteres no ASCII, lo que da una cadena ASCII pura que sobrevive a cualquier codificación de archivo.

Ejemplo

La misma línea escapada para distintos destinos:

Input:       He said "hi" in C:\Temp
JSON:        He said \"hi\" in C:\\Temp
SQL:         He said "hi" in C:\Temp            (only ' is doubled)
Regex:       He said "hi" in C:\\Temp
Shell:       'He said "hi" in C:\Temp'

Reglas de cada formato

  • JSON: escapa comillas, barras invertidas y caracteres de control, exactamente como JSON.stringify.
  • JavaScript: además escapa comillas simples, acentos graves, tabulaciones verticales y los separadores de línea U+2028 y U+2029.
  • Java / C#: escapes con barra invertida y \uXXXX; al desescapar también acepta escapes octales de Java y \x y \U de C#.
  • Python: escapes con barra invertida, \x, \u y \U; los escapes desconocidos se conservan tal cual.
  • SQL: duplica las comillas simples para literales de cadena SQL estándar.
  • CSV: envuelve el valor en comillas dobles y duplica las comillas internas si contiene una coma, una comilla, un salto de línea o espacios al principio o al final.
  • XML: sustituye las cinco entidades predefinidas; al desescapar también decodifica referencias numéricas de caracteres.
  • Expresión regular: pone una barra invertida antes de cada carácter con significado especial, para que el patrón coincida literalmente con el texto.
  • Shell: envuelve el valor en comillas simples, que desactivan toda expansión en shells POSIX, y escribe las comillas internas como '\''.

Preguntas frecuentes

› ¿Qué significa escapar una cadena?

Algunos caracteres tienen un significado especial dentro de un literal de cadena, como la comilla que lo cierra o un salto de línea. Escapar los sustituye por una secuencia segura, normalmente una barra invertida seguida de una letra, para que la cadena pueda pegarse en código, una consulta o un archivo sin romperlo.

› ¿Pego también las comillas que rodean la cadena?

No. Pega solo el contenido. El resultado escapado es lo que va entre las comillas en tu código. En CSV y shell, que entrecomillan valores completos, la herramienta añade las comillas exteriores cuando hacen falta.

› ¿Basta con escapar en SQL para evitar la inyección SQL?

Duplicar las comillas simples produce un literal de cadena válido, útil al escribir una consulta a mano o preparar un script de migración. En el código de una aplicación usa siempre consultas parametrizadas o sentencias preparadas en lugar de construir SQL con cadenas.

› ¿Por qué al desescapar aparece una secuencia de escape desconocida?

Cada lenguaje acepta escapes distintos. JSON, por ejemplo, no tiene \x ni \0, así que la herramienta indica la posición de la primera secuencia que el lenguaje elegido rechazaría. Python conserva los escapes desconocidos como \d tal cual, igual que el intérprete de Python.

› ¿Se sube mi texto?

No. Escapar y desescapar se hace en tu navegador y no se envía nada a ningún servidor.