BrowserTools
Publicidad
Inicio / Codificadores / Herramienta de escape y desescape

Herramienta de escape y desescape

Escapa o desescapa texto para HTML, XML, JSON, JavaScript, CSV y URL, localmente en tu navegador.

Cargando Herramienta de escape y desescape… Si no ocurre nada, activa JavaScript.

El escapado es el acto de reescribir caracteres que tienen un significado especial en un formato determinado para que se traten como datos normales en lugar de como sintaxis. Esta herramienta escapa y desescapa texto para seis contextos comunes: HTML, XML, cadenas JSON, cadenas JavaScript, campos CSV y URL. Elige el contexto, escoge escapar o desescapar, y el resultado se actualiza mientras escribes.

Preguntas frecuentes

¿Cuál es la diferencia entre el escapado de HTML y de XML aquí?
Son casi idénticos: ambos convierten &, <, >, " y ' en entidades. La principal diferencia práctica es el apóstrofo, que XML escribe como &apos; mientras que HTML suele usar &#39; para una mayor compatibilidad. El desescapado gestiona entidades con nombre y formas decimales (&#39;) y hexadecimales (&#x27;).
¿Por qué el escapado de cadenas JSON y JavaScript parece igual?
Porque la sintaxis de cadenas de JSON es un subconjunto estricto de la de JavaScript. Ambas escapan comillas dobles, barras invertidas y caracteres de control como saltos de línea (\n) y tabulaciones (\t). La herramienta produce el contenido interior de un literal de cadena, sin las comillas que lo rodean, para que puedas insertarlo directamente en tu código o en tus datos.
¿Cómo funciona el escapado CSV?
Un campo CSV solo necesita comillas cuando contiene una coma, una comilla doble o un salto de línea. En ese caso el campo se envuelve entre comillas dobles y cualquier comilla doble dentro de él se duplica (" se convierte en ""). Los campos sin esos caracteres se dejan intactos, lo que coincide con el RFC 4180.
¿El modo URL codifica toda la URL o solo un componente?
Usa codificación de componente (el equivalente de encodeURIComponent), que codifica en porcentaje caracteres reservados como /, ?, & y =. Esa es la opción correcta para un único valor de cadena de consulta o segmento de ruta. Para trabajar sobre una URL completa con su estructura intacta, usa la herramienta dedicada de codificación de URL.
¿Es el escapado lo mismo que el cifrado?
No. El escapado solo cambia cómo se representan los caracteres para que un analizador los lea como datos, y cualquiera puede revertirlo al instante. No ofrece ningún secreto. Para la confidencialidad necesitas cifrado real, no escapado ni codificación.
¿Se sube mi entrada a algún sitio?
No. Todo el escapado y desescapado ocurre localmente en tu navegador, así que las cargas útiles, los tokens y los datos exportados nunca salen de tu dispositivo.

Acerca de Herramienta de escape y desescape

La razón por la que esto importa es la seguridad y la corrección. Poner un corchete angular sin escapar en HTML puede romper la página o abrir un agujero de cross-site scripting; una comilla sin escapar dentro de una cadena JSON hace que todo el documento no se analice; una coma en un campo CSV desplaza todas las columnas posteriores. Cada formato tiene sus propias reglas: HTML y XML usan entidades como &lt; y &amp;, JSON y JavaScript usan secuencias con barra invertida como \" y \n, CSV envuelve un campo entre comillas dobles y duplica cualquier comilla interior, y las URL codifican en porcentaje los caracteres reservados en formas como %20.

Todo se ejecuta localmente en tu navegador, así que puedes pegar cargas útiles de API, fragmentos y datos exportados sin que salgan de tu dispositivo. Las direcciones de escape y desescape son inversas exactas para una entrada bien formada, y un botón 'Usar la salida como entrada' te permite encadenar o revertir una transformación con un solo clic.

El carácter de escape

La idea de un 'carácter de escape', un símbolo que cambia el significado del siguiente, es lo bastante antigua como para anteceder a la informática moderna. El código de control ASCII 27, que la tecla Escape todavía envía, lo usaban los terminales para introducir secuencias de control, y el lenguaje C adoptó la barra invertida a principios de la década de 1970 para incrustar comillas y saltos de línea dentro de literales de cadena. Esa convención de la barra invertida se extendió a casi todos los lenguajes que vinieron después, por lo que el escapado de JSON y JavaScript resulta tan familiar.

La web añadió su propia capa. HTML heredó las entidades con ampersand de SGML para que los autores pudieran escribir un signo de menor que literal sin iniciar una etiqueta, y la codificación porcentual de URL se definió para que las direcciones pudieran viajar de forma segura por sistemas que solo entendían un conjunto limitado de caracteres ASCII. Cada esquema resuelve el mismo problema subyacente con un disfraz distinto: cómo decir 'trata este carácter como datos, no como instrucción'.

Publicidad
Publicidad
Publicidad