Comment encoder une chaîne pour une URL
L’encodage pourcent remplace chaque caractère non sûr dans une URL par % suivi de la valeur hexadécimale de chacun de ses octets UTF-8. Le mode Composant, qui utilise encodeURIComponent(), convient à une seule valeur de requête ou à un segment de chemin.
Exemple détaillé
| Caractère | Octets UTF-8 | Composant |
|---|---|---|
| ␠ | %20 | %20 |
| & | %26 | %26 |
| = | %3D | %3D |
| / | %2F | %2F |
| ? | %3F | %3F |
| é | %C3 %A9 | %C3%A9 |
| 😀 | %F0 %9F %98 %80 | %F0%9F%98%80 |
Le mode Composant encode toute la phrase en une seule valeur sûre.
- Entrée
- rock & roll/size=XL? café 😀
- Résultat ·
encodeURIComponent() - rock%20%26%20roll%2Fsize%3DXL%3F%20caf%C3%A9%20%F0%9F%98%80
Le mode URL complète laisse & = / ? inchangés : réservez-le à une URL entière.
- Entrée
- rock & roll/size=XL? café 😀
- Résultat ·
encodeURI() - rock%20&%20roll/size=XL?%20caf%C3%A9%20%F0%9F%98%80
Ce que fait l’outil
- Les lettres A–Z et a–z, les chiffres 0–9 et - _ . ! ~ * ' ( ) ne sont jamais modifiés.
- Tout autre caractère est converti en octets UTF-8, et chaque octet s’écrit % suivi de deux chiffres hexadécimaux majuscules : é occupe deux octets, la plupart des emoji quatre.
- Le mode Composant encode aussi les caractères réservés : / ? # [ ] @ & = + $ , ; afin qu’ils ne puissent pas modifier la structure de l’URL.