URL Encoding
Codificación URL (codificación porcentual)
Un mecanismo para codificar caracteres especiales en URLs reemplazándolos con un signo de porcentaje seguido de dos dígitos hexadecimales, garantizando que las URLs solo contengan caracteres ASCII válidos.
Detalle técnico
La codificación porcentual (RFC 3986) convierte cada byte de la representación UTF-8 de un carácter a %XX (donde XX es el valor hexadecimal del byte). Los caracteres no reservados (A-Z, a-z, 0-9, -, _, ., ~) se dejan sin codificar. Las funciones de JavaScript: encodeURIComponent() codifica todo excepto caracteres no reservados; encodeURI() también preserva los delimitadores de la URL. Los usos comunes: espacios como %20 o + (en datos de formulario), / como %2F, ? como %3F, & como %26.
Ejemplo
```javascript
// URL encode/decode
encodeURIComponent('hello world & more');
// → 'hello%20world%20%26%20more'
decodeURIComponent('hello%20world');
// → 'hello world'
// Build query string
const params = new URLSearchParams({ q: 'pdf merge', page: '1' });
params.toString(); // 'q=pdf+merge&page=1'
```