#489 · Herramienta para desarrolladores

Inspector de Percent Encoding

Analiza una cadena con percent-encoding sin limitarse a aplicar decodeURIComponent. Enumera las secuencias “%XX”, muestra sus bytes, intenta reconstruir el texto UTF-8 y señala escapes incompletos o hexadecimales no válidos. También indica si el resultado todavía contiene patrones “%XX”, una pista útil para detectar una posible doble codificación.

Datos de entrada

Cadena URL o componente percent-encoded
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega una URL completa o un componente codificado.
  2. Activa “+ como espacio” solo si el valor procede de application/x-www-form-urlencoded.
  3. Ejecuta el inspector.
  4. Revisa posiciones, bytes y el aviso de posible doble codificación.

Qué hace esta herramienta para desarrolladores

Distingue entre la sintaxis byte a byte “%XX” y la interpretación UTF-8 del componente completo. Así puedes ver si el problema es un escape mal escrito o una secuencia de bytes que no forma Unicode válido.

Escaneo de cada “%” → validación de dos hexadecimales → tabla de bytes → decodeURIComponent global → detección de %XX residual.

En una URL completa, los delimitadores reservados tienen significado estructural. Decodificar toda la URL de una vez puede cambiar su semántica; para producción suele ser mejor operar por componente.

Ejemplo

Entrada

caf%C3%A9%20%26%20t%C3%A9

Salida

Texto decodificado: café & té
Escapes encontrados: 6

Casos de uso

  • Localizar doble codificación en parámetros.
  • Depurar errores “URI malformed”.
  • Ver qué bytes UTF-8 produce un componente URL.
  • Comparar query strings con y sin reglas form-urlencoded.

Consejos para obtener resultados fiables

  • No conviertas “+” a espacio fuera de contextos form-urlencoded.
  • Usa URL y URLSearchParams para separar componentes antes de decodificar.
  • Un % debe ir seguido exactamente de dos dígitos hexadecimales.
  • Si aparece %25 después de una decodificación, comprueba si el valor estaba doblemente codificado.

Detalles del procesamiento

El inspector no borra escapes inválidos. Los conserva en el texto de diagnóstico y deja que decodeURIComponent confirme si la secuencia global es válida.

No realiza parsing HTTP ni decide automáticamente qué parte de una URL debería decodificarse; analiza la cadena proporcionada.

Preguntas frecuentes

¿Por qué %20 representa un espacio?

Percent-encoding expresa un byte mediante su valor hexadecimal; 0x20 es el byte ASCII del espacio.

¿Es correcto tratar + como espacio en cualquier URL?

No. Esa convención pertenece sobre todo a application/x-www-form-urlencoded; en otros componentes “+” puede ser literal.

¿Qué causa el error URI malformed al decodificar?

Suele aparecer por escapes incompletos, dígitos no hexadecimales o bytes que no forman una secuencia UTF-8 válida.

¿Cómo detecto una doble codificación?

Si después de una primera decodificación siguen apareciendo secuencias %XX, puede existir una segunda capa; confirma el origen antes de volver a decodificar.

¿Debo decodificar una URL completa con decodeURIComponent?

Normalmente no. Conviene separar ruta, query y fragmento y decodificar cada componente según su función.

Resumen técnico

Escape%XX
DecodificacióndecodeURIComponent
Modo +Opcional form-urlencoded
DiagnósticoPosición y byte

Explorar Codificación y decodificación

Consulta más utilidades de conversión, codificación e inspección en esta categoría.

Ver categoría