URL Encoding
Encodage URL (Encodage en pourcentage)
Un mécanisme d'encodage des caractères spéciaux dans les URLs en les remplaçant par un signe pourcent suivi de leur valeur hexadécimale, garantissant que les URLs restent valides et sans ambiguïté.
Détail technique
L'encodage en pourcentage (RFC 3986) convertit chaque octet de la représentation UTF-8 d'un caractère en %HH (hexadécimal majuscule). Les caractères non réservés (A-Z, a-z, 0-9, -, _, ., ~) ne sont pas encodés. Les caractères réservés (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) sont encodés uniquement lorsqu'ils ne sont pas utilisés comme délimiteurs. L'espace est %20 dans les chemins mais + dans les chaînes de requête (application/x-www-form-urlencoded). En JavaScript : encodeURIComponent() encode tout sauf les non réservés ; encodeURI() préserve les délimiteurs d'URL.
Exemple
```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'
```