¿Qué es la Codificación de URL?
La codificación de URL (codificación porcentual) convierte caracteres especiales en URLs a un formato seguro usando % seguido de códigos hex. Aprende cómo funciona y por qué es necesaria.
La codificación de URL, también conocida como codificación porcentual, es un mecanismo para codificar caracteres especiales en una URL reemplazándolos con un signo de porcentaje (%) seguido de dos dígitos hexadecimales que representan el código ASCII del carácter. Esto es necesario porque las URLs solo pueden contener un conjunto limitado de caracteres ASCII y muchos caracteres tienen un significado especial en la sintaxis de URL.
Cómo Funciona la Codificación de URL
Los caracteres se codifican buscando su valor ASCII/Unicode y convirtiéndolo a hex: • Espacio → %20 (ASCII 32 = 0x20) • : → %3A (ASCII 58 = 0x3A) • / → %2F (ASCII 47 = 0x2F) • @ → %40 • ? → %3F • # → %23 Ejemplo: https://example.com/search?q=hola mundo se convierte en: https://example.com/search?q=hola%20mundo
Caracteres Reservados vs No Reservados
Los caracteres de URL se dividen en dos categorías: • No reservados — Seguros tal como son: A–Z, a–z, 0–9, -, _, ., ~ • Reservados — Tienen significado especial en URLs: : / ? # [ ] @ ! $ & ' ( ) * + , ; = Los caracteres reservados deben codificarse con porcentaje cuando se usan como datos (no como estructura). Por ejemplo, un valor de parámetro de consulta que contiene & debe codificarse como %26.
La Codificación de URL en la Práctica
La codificación de URL está presente constantemente: • Búsquedas: google.com/search?q=qué+es+una+api (+ también es válido para espacio en query strings) • Envío de formularios: los navegadores codifican automáticamente los datos antes de enviarlos • Rutas con espacios: /mis%20documentos/archivo.pdf • Caracteres no ASCII: español → espa%C3%B1ol • Llamadas a APIs con caracteres especiales en parámetros
Try it yourself
Codificar/Decodificar TextoAcerca de la Codificación de URL
La codificación de URL está definida por RFC 3986. La web depende de ella para transmitir de forma segura datos que contienen caracteres no permitidos en URLs. Sin la codificación de URL, una URL que contenga un espacio, un ampersand o un carácter no latino sería ambigua o inválida. Los navegadores modernos gestionan la codificación automáticamente, pero los desarrolladores deben conocerla al construir APIs y manejar entradas de usuario.
FAQ
- ¿Por qué %20 significa un espacio?
- El carácter espacio tiene el código ASCII 32, que es 20 en hexadecimal. La codificación de URL antepone % a los valores hex, por lo que el espacio se convierte en %20.
- ¿Cuál es la diferencia entre codificación URL y codificación Base64?
- La codificación URL hace que caracteres individuales sean seguros para URLs, preservando la legibilidad. La codificación Base64 convierte datos binarios en un formato seguro de texto usando 64 caracteres imprimibles. Tienen propósitos distintos y producen resultados diferentes.
- ¿Debo usar + o %20 para los espacios en URLs?
- En la parte de query string de una URL (?key=value), + es válido para espacios (codificación de formulario). En la parte de ruta (/mi%20archivo), debes usar %20. %20 funciona en todas partes y es más seguro usarlo de forma consistente.