Todas las guías

¿Qué es la codificación porcentual (codificación de URL)?

Guías de codificación de URL

Una URL se diseñó originalmente para transportar solo un conjunto limitado de caracteres ASCII. Si pones un espacio, una letra no latina o un carácter especial como ? o & directamente en una dirección, distintos navegadores o servidores pueden interpretarlo de forma diferente, o puede romperse. La solución es la codificación porcentual (percent-encoding), lo que la gente suele llamar codificación de URL.

Qué significa %XX

La codificación porcentual reemplaza un carácter inseguro por su valor de byte en hexadecimal, con el prefijo %. Un espacio se convierte en %20 y un signo de interrogación en %3F. Un carácter formado por varios bytes, como la mayoría de las letras no latinas, recibe un %XX por cada byte UTF-8.

Por qué UTF-8

La web moderna trata UTF-8 como el estándar. La función encodeURIComponent del navegador convierte el texto en bytes UTF-8 y luego transforma cada byte en %XX. Eso significa que el mismo carácter siempre se codifica de la misma manera, y al decodificar se restaura el texto original con exactitud.

La herramienta de codificar/decodificar de este sitio usa las funciones integradas del navegador, por lo que tu entrada se convierte al instante y nunca se envía a un servidor.

Cuándo la necesitas

Necesitas la codificación porcentual siempre que insertes una cadena arbitraria en parte de una dirección: un enlace que contiene un término de búsqueda, el valor de un parámetro de query o una URL de destino de redirección colocada dentro de otra URL. Sin codificar, un & o un = dentro del valor puede confundirse con un separador y cortar el parámetro.