Options avancées
Convertir + en espaces
Lorsque cette option est activée, les caractères + seront convertis en espaces. Ceci est utile lors du décodage des paramètres de requête.
Mode en direct
Lorsque cette option est activée, le texte sera décodé automatiquement pendant que vous tapez.
Ces options vous aident à contrôler comment les caractères encodés sont décodés dans vos URLs.
Qu’est-ce que le décodage URL ?
Le décodage d'URL est l'inverse du codage en pourcentage : il lit les séquences d'échappement %XX dans une URL encodée et les restitue aux caractères qu'elles représentent. C'est ainsi que l'on récupère une chaîne de requête lisible, une valeur de formulaire ou un segment de chemin à partir d'une URL que vous a transmise un navigateur, une API ou une ligne de journal.
Comment fonctionne le décodage URL ?
Le décodage d'URL suit un processus spécifique pour reconvertir les séquences encodées en pourcentage en leurs caractères d'origine :
- La chaîne d'entrée est analysée à la recherche de séquences d'échappement encodées en pourcentage (%XX)
- Chaque %XX est reconverti de ses deux chiffres hexadécimaux vers la valeur d'octet d'origine
- Les octets décodés consécutifs sont réassemblés en caractères UTF-8 (une séquence multi-octets devient un seul caractère)
- Dans le contexte d'une chaîne de requête, + est décodé en espace (application/x-www-form-urlencoded), tandis que %2B reste un + littéral
- Les caractères non réservés et le texte déjà décodé passent sans modification
Pourquoi utiliser un décodeur URL ?
- Sortie lisible : transformez %20, %40 et %3D en espaces, @ et = pour lire ce qu'une URL dit vraiment
- Texte international : reconstruisez les caractères accentués et non ASCII depuis leurs séquences d'octets UTF-8, pour que %C3%A9 redevienne é
- Débogage : inspectez les vraies valeurs dans une chaîne de requête, une redirection OAuth ou un payload de webhook avant d'agir dessus
- Conforme aux standards : décodez selon RFC 3986, les mêmes règles qu'utilisent navigateurs et serveurs, pour voir exactement ce qu'ils voient
Quelles sont les applications courantes du décodage URL ?
Le décodage d'URL est essentiel dans de nombreux scénarios de développement web :
- Soumission de formulaires : lecture des valeurs originales des champs depuis des données GET et POST au format application/x-www-form-urlencoded
- Développement d'API : décompression des paramètres de chemin et de requête encodés en pourcentage qui arrivent à un point de terminaison d'API
- Systèmes de fichiers : récupération des chemins et noms de fichiers encodés en pourcentage pour circuler dans une URL
- Débogage de liens : décodage d'URLs partagées ou journalisées pour voir les caractères spéciaux et le texte international qu'elles contiennent
À quoi ressemble un exemple de décodage URL ?
Voici quelques exemples courants de décodage d'URL : %20 (ou +) devient un espace, %40 devient @, %23 devient #, %26 devient & et %3D devient =. Une séquence UTF-8 comme %C3%A9 devient le caractère international é.
Qu'est-ce que l'encodage par pourcentage ?
L'encodage par pourcentage est le mécanisme défini par la RFC 3986 §2.1 pour représenter les caractères non sûrs ou réservés à l'intérieur d'un URI. La règle est mécanique : chaque octet qui ne peut pas apparaître littéralement est écrit sous la forme d'un signe pourcent suivi de deux chiffres hexadécimaux — la forme %XX —, où XX est la valeur de l'octet. Les caractères non-ASCII tels que é sont d'abord encodés sous leur séquence d'octets UTF-8, puis chaque octet est encodé par pourcentage individuellement. Les développeurs y sont confrontés presque quotidiennement : dans les chaînes de requête, les soumissions de formulaires, les URLs de retour OAuth, les paramètres de chemin des APIs REST, et partout où une URL doit transporter ponctuation, espaces, ou caractères en dehors de l'ensemble non réservé A–Z a–z 0–9 - _ . ~.
Comment le décodage de %C3%A9 en é fonctionne-t-il réellement ?
Prenons la chaîne de requête encodée ?q=caf%C3%A9&lang=fr. Le décodage produit ?q=café&lang=fr. Voici le détail octet par octet :
- Entrée:
?q=caf%C3%A9&lang=fr - Sortie:
?q=café&lang=fr
%C3→ octet0xC3(binaire11000011) — l'octet de tête d'une séquence UTF-8 de 2 octets.%A9→ octet0xA9(binaire10101001) — l'octet de continuation. Ensemble,C3 A9est l'encodage UTF-8 de U+00E9, qui esté.- Les caractères
?,=et&sont laissés intacts car ils sont structurels — ils délimitent la requête et ses paires clé/valeur. Le littéralcafpasse également sans changement, car les lettres ASCII minuscules appartiennent à l'ensemble non réservé.
Quelle est la différence entre decodeURIComponent et decodeURI ?
JavaScript expose deux décodeurs intégrés, et les confondre est l'un des bugs les plus courants dans la gestion des URLs :
decodeURIComponent(str)décode chaque séquence encodée par pourcentage, y compris les caractères réservés tels que&,=,?,/et#. Utilisez-le sur des valeurs individuelles de chaîne de requête ou des segments de chemin — jamais sur une URL entière.decodeURI(str)est volontairement conservateur : il ignore les caractères réservés. Lui fournir%26renvoie la chaîne littérale%26, et non&. Il est destiné aux URIs entières où vous voulez que la structure survive à un aller-retour.
Règle pratique : si la chaîne est un morceau d'URL (un paramètre unique, un fragment, un nom de fichier encodé), choisissez decodeURIComponent. Cet outil se comporte comme decodeURIComponent — chaque séquence %XX de votre entrée est décodée, y compris les caractères réservés.
Décoder une URL, c'est lire ce qu'elle contient vraiment. Collez une chaîne encodée ci-dessus et chaque séquence %XX redevient son caractère directement dans votre navigateur, pour déboguer un paramètre de requête, vérifier une redirection OAuth ou récupérer un nom de fichier accentué sans rien envoyer à un serveur.