tooliv

Codificacion URL

Codificar y decodificar URL

Entrada

Resultado

Codificacion URL: por que ciertos caracteres necesitan transformarse

Las URL solo aceptan un conjunto limitado de caracteres: letras, numeros y unos pocos simbolos. En cuanto aparece un espacio, una tilde o un caracter especial, hay que convertirlo al formato %XX -- lo que se conoce como codificacion porcentual. Sin esto, el servidor puede no entender la peticion.

Por que la codificacion URL es imprescindible

Las URL siguen el estandar RFC 3986 y solo aceptan caracteres alfanumericos mas un punado de caracteres especiales (-._~). Un espacio, una ene o un acento en una URL, y el servidor puede fallar al interpretarla. Los caracteres & y = funcionan como separadores de parametros de consulta: si aparecen dentro de los propios datos, hay que codificarlos para evitar ambiguedades. La codificacion URL es, sencillamente, el mecanismo basico que permite transmitir datos de forma fiable en la web.

Los caracteres que se codifican con mas frecuencia

Los espacios se convierten en %20 (o + en algunos contextos), el & pasa a ser %26, el = se transforma en %3D y el ? en %3F. Los caracteres acentuados del espanol se codifican en UTF-8, generando varias secuencias %XX por caracter. La barra (/) sirve como separador de ruta y solo debe codificarse cuando forma parte de un valor de parametro. Conocer estas reglas evita los bugs tipicos de URL mal formadas.

Buenas practicas para desarrolladores

La regla de oro: codifica solo los valores de los parametros de consulta, nunca la estructura de la URL en si. En JavaScript, usa encodeURIComponent() para valores y encodeURI() para URL completas. En Python, es urllib.parse.quote(). La doble codificacion -- cuando codificas una cadena que ya esta codificada -- es un error clasico: acabas con %2520 en lugar de %20. Recuerda siempre codificar los valores de parametros en tus llamadas API, porque pueden contener caracteres especiales inesperados.

Preguntas frecuentes

Por que se necesita la codificacion URL?

Los caracteres especiales en URLs (espacios, &, =, etc.) deben codificarse para ser interpretados correctamente.

Que es la codificacion porcentual?

Los caracteres se reemplazan con %XX donde XX es el valor hexadecimal.

Debo codificar toda la URL?

No, solo codifique los valores de los parametros, no la estructura de la URL.

Herramientas relacionadas