La decodificación estricta aplica comprobaciones explícitas. La fuente debe ser ASCII, cada porcentaje requiere dos dígitos hex y los bytes deben formar UTF-8 sin sustitución. Solo entonces URLCodec vuelve a codificar para mostrar si la escritura era canónica.

Los escapes rotos fallan en el porcentaje

Un % final, un escape de un dígito como %2 o uno no hexadecimal como %GG falla en la primera posición relevante. La herramienta no elimina el porcentaje, rellena un dígito ni conserva el fragmento como texto. La entrada sigue editable y desaparece el resultado anterior.

Una pasada evita significado recursivo oculto

La entrada %252F produce el texto %2F tras una pasada. URLCodec se detiene y no convierte el nuevo escape aparente en barra. Cada ejecución es reproducible y no cambia el significado por un número oculto de pasadas. Decodifica otra vez solo si el flujo receptor lo exige.

Comprueba el componente receptor

La codificación porcentual depende del contexto. URLCodec transforma deliberadamente un valor y no analiza una URL completa, separa pares de consulta, normaliza rutas, valida destinos ni decide si otro sistema espera reglas de formulario. Pega el resultado solo en el componente cuyo contrato hayas comprobado. Codificar cambia la representación; no cifra, autentica, sanea ni vuelve seguro un destino.