Aller au contenu

Encoder et décoder une URL

Web et développement

Comment encoder du texte pour une adresse web ?

Encodez du texte pour une adresse web avec des codes %, ou redonnez à %20 et ses semblables leur forme lisible.

Conversion

Pour un élément, comme une valeur de paramètre ou un segment de chemin. Échappe tous les caractères ayant un sens dans une adresse : ? & = / # deviennent des codes %.

Encodé

Hello%20world%20%26%20caf%C3%A9%3F

19 caractères deviennent 34

Liens sponsorisés

Encodez du texte pour une adresse web avec des codes %, ou redonnez à %20 et ses semblables leur forme lisible.

Mode d’emploi

  1. Choisissez Encoder pour adapter du texte à une adresse web, ou Décoder pour lire une adresse encodée.
  2. Saisissez ou collez le texte. Si le décodage trouve une erreur, il indique à quel caractère.
  3. Choisissez ce que vous encodez sous Encoder comme : une partie d’adresse, une adresse entière ou des données de formulaire.
  4. Copiez le résultat.

Caractères courants encodés comme partie d’adresse

CaractèreEncodé
+%2B
&%26
=%3D
/%2F
%%25
?%3F

Liens sponsorisés

Comment ça marche

Une adresse web ne peut contenir qu’un ensemble limité de caractères. Les autres, comme un espace, un accent, un emoji ou un caractère à sens spécial tel que ? ou &, s’écrivent avec un signe pour cent et deux chiffres hexadécimaux par octet : un espace devient %20 et é devient %C3%A9. Le texte est d’abord converti en octets UTF-8 (RFC 3986, section 2.1).

Les caractères à conserver dépendent de l’emplacement du texte. Pour une partie d’adresse, comme un terme de recherche dans un paramètre, tous les caractères à sens spécial sont échappés : un & du texte ne sera pas pris pour le début du paramètre suivant. Pour une adresse entière, les caractères qui la structurent, comme / ? & = et #, sont conservés pour qu’elle fonctionne. Les données de formulaire ressemblent à une partie d’adresse, sauf qu’un espace s’écrit + (ECMAScript encodeURIComponent et encodeURI ; WHATWG URL Standard).

Le décodage nécessite un code valide. Un % sans deux chiffres hexadécimaux après lui, ou des séquences UTF-8 invalides, ne peuvent pas redevenir du texte ; l’outil indique où commence le problème. L’encodage n’est pas du chiffrement : tout le monde peut décoder le résultat.

Questions fréquentes

Faut-il encoder l’adresse entière ou seulement une partie ?

Encodez seulement la partie à insérer, comme un terme de recherche ou un nom de fichier. Encoder une adresse entière comme une partie échapperait aussi ses barres obliques et deux-points, ce qui la rendrait inutilisable.

Quelle différence entre %20 et + ?

Les deux peuvent représenter un espace. %20 fonctionne partout dans une adresse. + signifie un espace seulement dans les données de formulaire et de nombreuses chaînes de requête : un véritable signe plus doit donc s’écrire %2B.

Pourquoi le décodage indique-t-il que mon texte est invalide ?

Généralement à cause d’un signe % isolé, comme dans 100% sûr, ou d’un code copié partiellement, comme %E2%82. Écrivez un signe pour cent littéral sous la forme %25.

L’encodage masque-t-il les données sensibles d’une URL ?

Non. L’encodage pour cent est réversible. Il ne chiffre ni mot de passe ni jeton.

Pourquoi le signe pour cent devient-il %25 ?

Le signe pour cent introduit une séquence d’échappement. %25 distingue un signe pour cent littéral d’une telle séquence.

Autres outils de la catégorie Web et développement

Les 18 outils de la catégorie Web et développement

Liens sponsorisés

Liens sponsorisés