La manipulación de texto para su correcta transmisión y visualización en la web requiere adaptar ciertos caracteres que, de otro modo, serían interpretados como instrucciones de código o provocarían errores de transferencia. La herramienta Codificador URL + entidades HTML permite realizar conversiones bidireccionales directamente en el navegador, facilitando tanto la codificación y decodificación de direcciones web como el escape y desescape de entidades HTML.
El propósito de la codificación y decodificación URL
Las direcciones web o URL utilizan un conjunto limitado de caracteres autorizados para su estructura. Cuando se necesita incluir espacios, caracteres no ASCII o símbolos con un significado especial dentro de una dirección, se debe recurrir a la codificación URL, también conocida como codificación por porcentaje.
Este proceso consiste en sustituir los caracteres no permitidos por un símbolo de porcentaje % seguido de dos dígitos hexadecimales que representan su valor en bytes según la codificación UTF-8. Por ejemplo, un espacio se convierte en %20 y el símbolo & se transforma en %26. La decodificación realiza el proceso inverso, restituyendo los bytes con porcentaje a su representación de texto original legible.
Diferencia entre codificar un componente y una URL completa
Al trabajar con direcciones web, el impacto de la codificación varía según la parte del enlace que se esté editando. Por ello, la herramienta ofrece dos opciones de alcance:
- Componente: Utiliza internamente las funciones
encodeURIComponentydecodeURIComponent. Está diseñado para procesar valores individuales que se insertarán dentro de la URL, como parámetros de consulta (query values), fragmentos de la ruta de acceso o datos de formularios. Bajo este método, caracteres como:,/,?,&y=se codifican por completo para evitar que rompan la estructura de la dirección principal. - URL completa: Emplea las funciones
encodeURIydecodeURI. Se aplica cuando se desea codificar una dirección entera sin alterar su estructura funcional. Este método mantiene legibles y sin codificar los delimitadores de protocolo y parámetros como:,/,?,&y=, asegurando que el enlace siga siendo operativo como dirección de navegación.
Escape y desescape de entidades HTML
El lenguaje HTML utiliza caracteres específicos como < y > para definir etiquetas de marcado. Si se introduce texto que contiene estos símbolos directamente en el cuerpo de una página web, el navegador los interpretará como código, lo que desestructurará el diseño o impedirá la visualización del contenido.
El escape de entidades HTML resuelve este problema transformando caracteres conflictivos como <, >, &, comillas dobles, comillas simples y texto no ASCII en sus respectivas entidades estandarizadas (por ejemplo, < para el símbolo menor que). Esto permite pegar con seguridad cualquier fragmento de texto dentro del cuerpo de un documento HTML o en los valores de sus atributos sin riesgo de interferir con la estructura del código. El desescape realiza la acción contraria, devolviendo las entidades a sus caracteres originales.
Secuencias UTF-8 y errores de decodificación URL
Para que la decodificación de una URL se complete de manera correcta, los escapes de porcentaje deben corresponder a secuencias UTF-8 válidas y completas. UTF-8 es un formato de codificación de longitud variable donde un solo carácter puede requerir de uno a cuatro bytes.
Si la cadena de texto contiene una secuencia truncada o incompleta, el proceso de decodificación fallará. Por ejemplo, una secuencia rota como %E0%A4%A carece de los bytes necesarios para reconstruir el carácter original. En estos casos, la herramienta detiene el proceso y muestra el mensaje de error: "Este texto URL tiene un escape de porcentaje roto.".
Distinción entre codificación y sanitización de seguridad
Es fundamental comprender que la codificación URL y el escape de entidades HTML son procesos de transformación de formato para la compatibilidad de datos, y no equivalen a una sanitización de seguridad activa.
Mientras que el escape de entidades HTML evita que el texto se ejecute accidentalmente como marcado en el navegador, la sanitización de seguridad implica la eliminación o el filtrado deliberado de scripts maliciosos (como ataques de inyección o Cross-Site Scripting) basándose en reglas de validación estrictas. Esta herramienta se limita a realizar la conversión estructural de los caracteres según los estándares de codificación, sin analizar ni filtrar el contenido semántico del texto introducido.
Funcionamiento y privacidad de los datos
La herramienta procesa todo el texto con un límite máximo de entrada de 2 000 000 de caracteres. El procesamiento se realiza de manera local: tu texto URL y HTML se convierte en tu navegador y nada se sube a BroBroGo.
Durante el uso de la interfaz, se pueden presentar diferentes estados informativos y de error:
- Si se intenta realizar una acción sin contenido, se muestra: "Pega primero algún contenido.".
- Si se supera el límite de tamaño, aparecerá: "La entrada es demasiado grande. Manténla por debajo de
{max}caracteres.". - Si el procesamiento excede el tiempo de respuesta estándar, se indica: "Esta conversión tarda demasiado. Prueba con menos contenido.".
- Ante fallos imprevistos de conversión, se muestra: "No se pudo convertir esta entrada.".
La interfaz permite agilizar el flujo de trabajo mediante controles para cargar un ejemplo ("Ejemplo cargado."), limpiar los campos ("Entrada y salida borradas.") o transferir el resultado obtenido directamente al campo de entrada ("Salida movida a la entrada.") para encadenar operaciones.
Preguntas frecuentes
¿Cuándo uso componente o URL completa?
Usa componente para valores de consulta, partes de ruta o formularios. Usa URL completa para mantener legibles: /? & =.
¿Qué cambia el escape de entidades HTML?
Convierte <, >, &, comillas y texto no ASCII en entidades que puedes pegar con seguridad en texto o atributos HTML.
¿Por qué a veces falla la decodificación URL?
Los escapes con % deben ser secuencias UTF-8 completas. Un valor roto como %E0%A4%A no se puede decodificar sin adivinar.