Aller au contenu
ToolMug

Encoder et décoder une URL

Encodez un texte pour l’insérer dans une URL, décodez une chaîne pleine de %XX en texte lisible et voyez n’importe quelle URL découpée en parties et en paramètres de requête. Choisissez d’encoder un seul paramètre, une URL entière ou des données de formulaire HTML.

Fonctionne dans votre navigateur — rien de ce que vous saisissez n’est envoyé

Mode d’emploi

  1. Choisissez Encoder ou Décoder.
  2. Choisissez le mode — Composant pour la valeur d’un seul paramètre, URL complète pour conserver la structure de l’URL, ou Formulaire pour les données de formulaire HTML, où les espaces deviennent +.
  3. Collez votre texte. Le résultat se met à jour pendant la saisie.
  4. Si l’entrée est une URL, son protocole, son hôte, son chemin et ses paramètres de requête sont listés en dessous.

Explication des options

Composant
Encode tout sauf les lettres, les chiffres et - _ . ~ — à utiliser pour la valeur d’un paramètre de requête ou un segment de chemin. Équivaut à encodeURIComponent, plus ! ' ( ) * que la RFC 3986 réserve.
URL complète
Laisse intacts les caractères qui structurent une URL (: / ? # & =) et encode les espaces et les caractères non ASCII. Équivaut à encodeURI en JavaScript.
Formulaire
application/x-www-form-urlencoded, le format des formulaires HTML. Les espaces deviennent + au lieu de %20 ; au décodage, + redevient une espace.

Exemples

Entrée Composant URL complète Formulaire
a b&c a%20b%26c a%20b&c a+b%26c
café caf%C3%A9 caf%C3%A9 caf%C3%A9
https://x.com/?q=1 2 https%3A%2F%2Fx.com%2F%3Fq%3D1%202 https://x.com/?q=1%202 https%3A%2F%2Fx.com%2F%3Fq%3D1+2

Construire une URL avec des paramètres

Quand vous insérez une saisie utilisateur dans une chaîne de requête, encodez chaque valeur séparément :

const url = `https://example.com/search?q=${encodeURIComponent(query)}&page=2`;

Encoder toute l’URL à la fin laisserait les & et = présents dans la valeur non encodés, ce qui casserait les paramètres.

Questions fréquentes

Quelle différence entre %20 et + ?

Les deux peuvent représenter une espace, mais pas au même endroit. %20 fonctionne partout dans une URL ; + ne signifie une espace que dans la chaîne de requête des formulaires envoyés. Dans un chemin, + est un vrai signe plus.

Pourquoi mon texte est-il encodé deux fois (%2520) ?

Il a été encodé deux fois — le % de %20 a lui-même été encodé en %25. Décodez-le deux fois et, dans votre code, veillez à ce qu’une seule couche encode la valeur.

Quand utiliser encodeURI ou encodeURIComponent ?

Utilisez encodeURIComponent (mode Composant) pour chaque valeur de paramètre que vous insérez dans une URL. Réservez encodeURI (URL complète) à une URL entière qui peut contenir des espaces ou des caractères non ASCII.

Que signifie « encodage en pourcentage mal formé » ?

Un % n’est pas suivi de deux chiffres hexadécimaux, ou les octets ne forment pas de l’UTF-8 valide. L’erreur indique la position de la première séquence incorrecte.

Comment les caractères chinois sont-ils encodés dans une URL ?

Chaque caractère est converti en octets UTF-8, et chaque octet est écrit sous la forme %XX ; ainsi 中 devient %E4%B8%AD.

Confidentialité

Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers et vos textes sont traités sur votre appareil et ne sont jamais envoyés à nos serveurs.

Outils similaires