Encodage/Décodage URL

Encodage en pourcentage d'URL, encodage et décodage, avec prise en charge des caractères non-ASCII

Caractères : {{ inputText.length }} Octets : {{ byteCount }}
{{ errorMsg }}

À propos de l'encodage URL

L'encodage URL (aussi appelé encodage en pourcentage) est un mécanisme qui convertit les caractères spéciaux d'une URL en un % suivi de deux chiffres hexadécimaux. Selon la RFC 3986, une URL ne peut contenir qu'un sous-ensemble de caractères ASCII ; les autres caractères (tels que les caractères non-ASCII, les espaces et les symboles spéciaux) doivent être encodés.

En JavaScript, encodeURIComponent() encode les paramètres de requête d'URL — il encode chaque caractère sauf A-Z a-z 0-9 - _ . ! ~ * ' ( ). encodeURI() préserve les caractères structurels d'URL (tels que : / ? # & =).

Les scénarios courants d'encodage URL incluent : l'encodage des paramètres de requête AJAX, la gestion des caractères non-ASCII dans les chemins d'URL, et l'encodage des paramètres dans les signatures OAuth.

Exemples

Entrée : Bonjour, le monde! → Sortie : Bonjour%2C%20le%20monde!

Entrée : hello world! → Sortie : hello%20world!

FAQ

Q : Quelle est la différence entre encodeURIComponent et encodeURI ?
R : encodeURI n'encode pas les caractères structurels d'URL (:/?#&=+@$), il est donc adapté pour encoder une URL complète ; encodeURIComponent encode davantage de caractères et convient pour encoder les valeurs de paramètres de requête. Cet outil utilise encodeURIComponent.
Q : Un espace est-il encodé en %20 ou + ?
R : encodeURIComponent encode un espace en %20. Dans le format application/x-www-form-urlencoded (tel que la soumission de formulaire), les espaces sont encodés en +. Les deux sont valides.
Q : Qu'est-ce que le mode « Tout encoder » ?
R : Le mode « Tout encoder » convertit chaque caractère de l'entrée au format %XX, y compris les lettres et chiffres ASCII. Il est utile dans des cas particuliers, par exemple lorsque vous devez masquer entièrement le contenu de l'URL.