Encodeur et décodeur d’URL
Encodez du texte en pourcent pour les URL et les query strings, décodez des URL encodées et découpez n’importe quelle URL en composants, avec ses paramètres de requête décodés.
Fonctionne dans le navigateurSans inscriptionAucun envoi de données
Composants
Paramètres de requête
Comment utiliser : Encodeur / décodeur d’URL
- Choisissez Encoder ou Décoder.
- Pour l’encodage, choisissez Composant pour une valeur de paramètre ou un segment de chemin, URL complète pour conserver la structure de l’URL, ou Données de formulaire pour
application/x-www-form-urlencoded. - Collez votre texte. Le résultat apparaît instantanément ; les séquences d’échappement mal formées sont signalées avec leur position.
- Collez une URL complète dans l’Analyseur d’URL pour voir son hôte, son chemin, son fragment et chaque paramètre de requête décodé.
Qu’est-ce que l’encodage d’URL ?
Les URL ne peuvent contenir qu’un ensemble limité de caractères ASCII (RFC 3986). Tout le reste, y compris les espaces, les lettres accentuées et les caractères ayant une signification particulière comme &, ? et #, s’écrit sous la forme d’un signe pourcentage suivi de deux chiffres hexadécimaux pour chaque octet UTF-8. Une espace devient %20 et é devient %C3%A9.
encodeURIComponent ou encodeURI
| Fonction | Laisse intact | À utiliser pour |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | Une seule valeur de paramètre, un segment de chemin ou un nom de paramètre |
encodeURI | Aussi : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Une URL entière dont la structure doit être préservée |
Utiliser encodeURI sur une valeur de paramètre est un bug classique : un & dans la valeur n’est pas échappé et coupe le paramètre en deux. Le mode Composant de cet outil échappe aussi ! ' ( ) * pour une conformité stricte à la RFC 3986.
%20 ou + pour les espaces ?
Dans les chemins, une espace doit s’écrire %20. Dans les soumissions de formulaires HTML (application/x-www-form-urlencoded) et de nombreuses query strings, une espace s’écrit +. Au décodage, activez Traiter + comme un espace pour les données de formulaire, et désactivez-le lorsqu’un signe plus littéral compte, comme dans jane+test@example.com.
Questions fréquentes
Pourquoi ai-je l’erreur « séquence d’échappement mal formée » au décodage ?
% doit être suivi d’exactement deux chiffres hexadécimaux. Un signe pourcentage littéral, comme dans « -50 % », aurait dû être encodé en %25. L’erreur indique la position de la séquence fautive.Que signifie « séquence d’octets UTF-8 invalide » ?
%E9 pour é au lieu de %C3%A9), ou parce que la chaîne a été coupée au milieu d’un caractère.Faut-il encoder toute l’URL ou seulement les paramètres ?
= et &. Encoder une URL complète en mode composant échapperait aussi :// et la casserait.Le double encodage pose-t-il problème ?
%20 en %2520. Si vous voyez %25 suivi de chiffres hexadécimaux, la valeur a probablement été encodée deux fois. Décodez-la deux fois pour retrouver l’original.