URL Encoding
Codificacao de URL (Codificacao Percentual)
Um metodo de codificar caracteres especiais em URLs substituindo-os por um simbolo de percentagem seguido de dois digitos hexadecimais representando o valor do byte do caractere.
Detalhe técnico
A codificacao de URL substitui bytes nao seguros pelo seu valor hexadecimal prefixado com %: espaco → %20, & → %26, = → %3D, / → %2F, ? → %3F. Os caracteres nao reservados (A-Z, a-z, 0-9, -, _, ., ~) nao sao codificados. Em JavaScript: encodeURIComponent() codifica componentes (codifica / e ?), encodeURI() codifica URIs completos (preserva / e ?). Os bytes UTF-8 sao codificados individualmente: e → %C3%A9 (dois bytes). Formularios HTML utilizam application/x-www-form-urlencoded onde espaco → + em vez de %20.
Exemplo
```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'
```