Encodeur/Décodeur d'URL

Encode et décode les URLs.

URL invalide

Ce que sont l'encodage et le décodage d'URL

L'encodage d'URL, dit aussi encodage-pourcent, est le mécanisme qui convertit en une chaîne ASCII de la forme %XX les caractères qu'une URL ne peut porter : écritures non latines et symboles. Une URL fut conçue en supposant les seuls caractères ASCII, si bien que cette conversion s'impose dès que vous passez des caractères multi-octets ou des caractères réservés tels que ? et & comme valeur de paramètre.

Cet outil encode et décode d'un clic l'URL ou la chaîne saisie, et le résultat se copie et s'emploie tel quel. Il intervient dans toutes sortes de travaux de développement : assemblage de requêtes d'interface, production d'URL de redirection, examen du contenu d'une URL déjà encodée transmise par un autre système.

Comment l'employer

  1. Saisir la chaîne à convertir Collez dans le champ de saisie un texte comportant des caractères non latins, ou une URL déjà encodée.
  2. Choisir encoder ou décoder Choisissez encoder pour porter une chaîne ordinaire en notation pourcent, ou décoder pour rétablir la notation pourcent.
  3. Consulter le résultat La chaîne convertie paraît aussitôt.
  4. Copier le résultat et l'employer Vous pouvez le coller directement dans le paramètre de requête d'une interface ou dans une URL de redirection.

Astuces pour en tirer le meilleur parti

  • Le caractère japonais「あ」est encodé en %E3%81%82 en UTF-8.
  • Un espace peut devenir %20 dans les chemins d'URL ou + dans les paramètres de requête (différence entre RFC 3986 et la spécification des formulaires HTML).
  • Les caractères réservés comme ?, & et = doivent être encodés lorsqu'ils sont utilisés comme valeurs de paramètres.
  • Utile pour inclure des caractères non-ASCII dans les paramètres de requête d'API REST ou pour passer des URL de redirection en toute sécurité.

Quand cela rend service

Bâtir les paramètres de requête d'une interface REST

Employez-le lorsque vous voulez inclure sans risque des mots-clés ou des valeurs de saisie libre dans une chaîne de requête.

Assembler une URL de redirection

Quand vous enchâssez une URL de destination comme paramètre dans une autre URL, l'encodage prévient toute collision avec les séparateurs.

Examiner une URL reçue d'un autre système

Décodez une URL truffée de notation pourcent transmise par un journal ou un service extérieur et vous lirez les valeurs réelles des paramètres.

Créer des liens pour les courriels et le partage social

Vous pouvez bâtir sans risque du texte dans un lien mailto porteur d'un objet et d'un corps, ou dans une URL de partage sur les réseaux sociaux.

Le vocabulaire employé ici

Encodage-pourcent
Un procédé qui convertit un caractère en sa suite d'octets UTF-8 et exprime chaque octet par un signe pourcent suivi de deux chiffres hexadécimaux. Il représente sans risque les caractères qu'une URL ne peut porter.
Caractères réservés
Des symboles tels que ?, &, =, # et + qui servent à découper la structure d'une URL. Ils doivent être encodés lorsqu'ils figurent dans une valeur de paramètre.
Caractères non réservés
Les caractères alphanumériques et les quatre symboles -, _, . et ~. La RFC 3986 établit qu'ils n'appellent aucun encodage.
RFC 3986
La norme internet qui établit la syntaxe d'un URI. Les règles de l'encodage-pourcent y sont également définies.
application/x-www-form-urlencoded
Le format d'encodage employé à l'envoi d'un formulaire HTML. Il s'écarte de la norme URI en convertissant une espace en signe plus plutôt qu'en %20.

Foire aux questions

L'encodage convertit des caractères comme les espaces et les lettres non-ASCII au format hexadécimal %XX, sûr pour une utilisation dans les URL. Le décodage effectue l'opération inverse pour retrouver le texte original lisible.

Utilisez %20 dans les chemins d'URL (selon RFC 3986). Le + n'est utilisé que dans les chaînes de requête application/x-www-form-urlencoded (données de formulaires HTML). En cas de doute, %20 est le choix le plus sûr.

Les caractères non réservés — lettres (A–Z, a–z), chiffres (0–9) et les symboles - _ . ~ — peuvent apparaître dans les URL sans encodage. Tous les autres, y compris les caractères réservés comme & et =, doivent être encodés lorsqu'ils sont utilisés comme valeurs de paramètres.
Tool-kun

Anecdote — La naissance de l'URL : Tim Berners-Lee et l'aube du World Wide Web

L'URL a été conçue en 1991 par Tim Berners-Lee, l'inventeur du World Wide Web. Initialement pensée uniquement pour les caractères ASCII, les caractères multi-octets (comme le japonais) et les caractères spéciaux doivent être représentés par l'encodage en pourcentage.

L'URL de la toute première page web sur internet, http://info.cern.ch/hypertext/WWW/TheProject.html, est encore accessible aujourd'hui. Les domaines avec des emojis (ex. : 🍕.ws) sont techniquement possibles et sont convertis en interne en Punycode (le format qui commence par xn--). Bien que les URL puissent théoriquement dépasser 2 000 caractères, les limites pratiques imposées par les navigateurs et les serveurs sont d'environ 2 048 caractères.

Le RFC 3986 définit la spécification des URL, mais la distinction entre %20 (espace) et + (espace) reste une source fréquente de confusion. %20 est la norme URI ; + est utilisé dans le format application/x-www-form-urlencoded des formulaires HTML — le choix dépend du contexte.