Comment décoder une chaîne encodée pour URL
Le décodage inverse l’encodage pourcent : chaque séquence %XX devient un octet, puis les octets sont lus comme du texte UTF-8. Le mode Composant utilise decodeURIComponent(), le résultat est donc exactement la valeur d’origine.
Exemple détaillé
Les séquences UTF-8 de plusieurs octets deviennent un seul caractère.
- Entrée
- caf%C3%A9%20%26%20cr%C3%A8me
- Résultat ·
decodeURIComponent() - café & crème
%20 devient une espace, mais + est conservé comme signe plus littéral.
- Entrée
- a+b%20c
- Résultat ·
decodeURIComponent() - a+b c
Il manque un chiffre hexadécimal à la dernière séquence : l’outil affiche une erreur.
- Entrée
- %E0%A4%A
- Résultat ·
decodeURIComponent() - URL encodée non valide
Une fois le chiffre rétabli, les trois octets donnent une seule lettre devanagari.
- Entrée
- %E0%A4%A4
- Résultat ·
decodeURIComponent() - त
Ce que fait l’outil
- Chaque séquence %XX est un octet, et les octets consécutifs sont décodés ensemble en UTF-8 : %C3%A9 devient é.
- Le signe plus n’est pas traité comme une espace : + reste +. Si le texte provient d’un formulaire HTML, remplacez + par %20 avant de décoder.
- Si une séquence est incomplète ou n’est pas de l’UTF-8 valide, toute l’entrée est rejetée avec une erreur ; rien n’est décodé partiellement.
- Le mode URL complète (decodeURI) laisse encodés les échappements de caractères réservés comme %26, %2F et %3F, afin de ne pas modifier la structure de l’URL.