Encoder et décoder une URL en ligne — encodage pourcent
Un encodeur et décodeur d’URL en pourcentage qui gère l’Unicode et les emojis
Traitement dans le navigateur · aucun envoi de fichier
Présentation
Seuls les lettres, les chiffres et quelques symboles peuvent figurer tels quels dans une URL. Tout le reste, comme les lettres accentuées, les autres écritures, les espaces ou les emojis, est converti en octets UTF-8, et chaque octet est écrit sous la forme % suivi de deux chiffres hexadécimaux. C’est l’encodage en pourcentage (percent-encoding). Cet outil affiche le résultat encodé ou décodé au fil de la saisie.
Mode d’emploi
- Choisissez Encoder ou Décoder.
- Choisissez la portée : encodeURIComponent pour une seule valeur de paramètre, encodeURI pour une URL complète.
- Collez un texte ou une URL dans la zone de saisie : le résultat apparaît aussitôt.
- Pour décoder des données de formulaire, cochez l’option qui traite + comme un espace.
- Copiez le résultat, ou appuyez sur Utiliser le résultat comme entrée pour vérifier l’aller-retour.
Fonctionnement
- Le travail est fait par les fonctions natives du navigateur
encodeURIComponent,encodeURI,decodeURIComponentetdecodeURI, qui suivent les règles de la RFC 3986. - Le texte devient d’abord des octets UTF-8. Une lettre accentuée occupe 2 octets, soit deux groupes
%XX; un caractère coréen ou chinois en occupe 3, soit trois groupes, et un emoji 4. - Les caractères laissés tels quels sont
A-Z a-z 0-9 - _ . ! ~ * ' ( ). encodeURI laisse aussi intacts; , / ? : @ & = + $ #. - Un demi-codet (surrogate) isolé ne peut pas être encodé et est signalé comme erreur.
- Un décodage raté n’est jamais réparé en silence : vous obtenez un message d’erreur à la place.
Exemples
| Entrée | Mode | Résultat |
|---|---|---|
a b&c=d |
Composant | a%20b%26c%3Dd |
crème brûlée |
Composant | cr%C3%A8me%20br%C3%BBl%C3%A9e |
中文 |
Composant | %E4%B8%AD%E6%96%87 |
👍 |
Composant | %F0%9F%91%8D |
https://example.com/검색?q=a b |
URL complète | https://example.com/%EA%B2%80%EC%83%89?q=a%20b |
Questions fréquentes
Quelle différence entre encodeURIComponent et encodeURI ?
encodeURIComponent sert pour un seul morceau, comme la valeur d’un paramètre de requête : il échappe donc aussi les séparateurs / ? & = et #. encodeURI sert pour une URL complète et laisse ces séparateurs intacts.
Pourquoi le décodage échoue-t-il ?
Chaque % doit être suivi de deux chiffres hexadécimaux, et les octets obtenus doivent former de l’UTF-8 valide. Vérifiez que la chaîne n’a pas été coupée en plein milieu et qu’aucun % littéral non échappé ne traîne dans le texte.
Un espace doit-il s’écrire %20 ou + ?
Dans le chemin d’une URL, c’est %20. Le signe + ne signifie espace que dans l’encodage des formulaires HTML (application/x-www-form-urlencoded). Activez l’option du signe plus pour décoder ce type de données.
Mon URL est-elle envoyée à un serveur ?
Non. Tout se passe dans votre navigateur.