URL Encoding explicado: Codificación porcentual, UTF-8 y caracteres especiales
5 min de lectura
La codificación URL (codificación porcentual) convierte caracteres especiales en un formato que puede transmitirse por internet. Los espacios se convierten en %20, los ampersands en %26 y los caracteres no ASCII se codifican como secuencias de bytes UTF-8.
Por qué las URLs necesitan codificación
Las URLs solo pueden contener un conjunto limitado de caracteres (RFC 3986): letras, dígitos y algunos caracteres especiales (-._~). Todo lo demás debe codificarse con porcentaje.
Codificaciones comunes
| Carácter | Codificado |
|---|---|
| Espacio | %20 (o + en query strings) |
| & | %26 |
| = | %3D |
| ? | %3F |
| # | %23 |
| / | %2F |
| @ | %40 |
Unicode en URLs
Los caracteres no ASCII (como café) primero se codifican como UTF-8, luego cada byte se codifica con porcentaje: caf%C3%A9.
En JavaScript
encodeURIComponent("hello world & café")
// "hello%20world%20%26%20caf%C3%A9"
decodeURIComponent("hello%20world")
// "hello world"
Genera URLs limpias
Evita problemas de codificación usando slugs limpios. Nuestro generador de slugs de URL crea slugs seguros automáticamente.