Aller au contenu principal

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.

Guides d’encodage d’URL