Encodage d'URL

Entrez le texte à encoder ou à décoder par URL. Convertit le texte en une chaîne codée en pourcentage

Notre outil de codage et de décodage d'URL


Utilisez l'outil en ligne ci-dessus pour coder ou décoder une chaîne de texte. Pour une interopérabilité mondiale, les URI doivent être codés de manière uniforme. Pour faire correspondre le large éventail de caractères utilisés dans le monde entier aux quelque 60 caractères autorisés dans un URI, un processus en deux étapes est utilisé :

  • Convertir la chaîne de caractères en une séquence d'octets en utilisant l'encodage UTF-8.
  • Convertir chaque octet qui n'est pas une lettre ou un chiffre ASCII en %HH, où HH est la valeur hexadécimale de l'octet.
  • Par exemple, la chaîne de caractères : François ,serait encodée comme suit Fran%C3%A7ois

(Le "ç" est codé en UTF-8 comme deux octets C3 (hex) et A7 (hex), qui sont ensuite écrits comme les trois caractères "%c3" et "%a7" respectivement). Cela peut rendre un URI plutôt long (jusqu'à 9 caractères ASCII pour un seul caractère Unicode), mais l'intention est que les navigateurs n'aient besoin d'afficher que la forme décodée, et de nombreux protocoles peuvent envoyer UTF-8 sans l'échappement %HH.

Qu'est-ce que le codage des URL ?

Le codage URL consiste à coder certains caractères dans une URL en les remplaçant par un ou plusieurs triplets de caractères composés du caractère pour cent "%" suivi de deux chiffres hexadécimaux. Les deux chiffres hexadécimaux du ou des triplets représentent la valeur numérique du caractère remplacé.

Le terme "encodage d'URL" est un peu inexact car la procédure d'encodage n'est pas limitée aux URL (Uniform Resource Locator), mais peut également être appliquée à tout autre URI (Uniform Resource Identifier) tel que les URN (Uniform Resource Name). Par conséquent, il convient de préférer le terme de codage en pourcentage.

Quels sont les caractères autorisés dans une URL ?

Les caractères autorisés dans un URI sont soit réservés, soit non réservés (ou un caractère de pourcentage dans le cadre d'un codage en pourcentage). Les caractères réservés sont les caractères qui ont parfois une signification spéciale, tandis que les caractères non réservés n'ont pas de telle signification. Avec le codage en pourcentage, les caractères qui ne seraient pas autorisés sont représentés par des caractères autorisés. Les ensembles de caractères réservés et non réservés et les circonstances dans lesquelles certains caractères réservés ont une signification spéciale ont légèrement changé à chaque révision des spécifications qui régissent les URI et les schémas URI.

Selon la RFC 3986, les caractères d'une URL doivent être pris dans un ensemble défini de caractères ASCII réservés et non réservés. Tout autre caractère n'est pas autorisé dans une URL.

Les caractères non réservés peuvent être encodés, mais ne doivent pas l'être. Les caractères non réservés sont :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 - _ . ~

Les caractères réservés ne doivent être encodés que dans certaines circonstances. Les caractères réservés sont :

! * ' ( ) ; : @ & = + $ , / ? % # [ ]

Codage/décodage d'un morceau de texte

La RFC 3986 ne définit pas selon quelle table de codage de caractères les caractères non-ASCII (par exemple les trémas ä, ö, ü) doivent être codés. Comme le codage des URL implique une paire de chiffres hexadécimaux et qu'une paire de chiffres hexadécimaux équivaut à 8 bits, il serait théoriquement possible d'utiliser l'une des pages de code de 8 bits pour les caractères non ASCII (par exemple, ISO-8859-1 pour les trémas).

D'un autre côté, comme de nombreuses langues ont leur propre page de code 8 bits, la gestion de toutes ces pages de code 8 bits différentes serait assez lourde à gérer. Certaines langues n'entrent même pas dans une page de codes 8 bits (par exemple, le chinois). C'est pourquoi la RFC 3629 propose d'utiliser la table de codage des caractères UTF-8 pour les caractères non ASCII. L'outil suivant en tient compte et propose de choisir entre la table d'encodage des caractères ASCII et la table d'encodage des caractères UTF-8. Si vous optez pour la table d'encodage des caractères ASCII, un message d'avertissement s'affichera si le texte encodé/décodé de l'URL contient des caractères non ASCII.

Quand et pourquoi utiliser l'encodage URL ?

Lorsque les données qui ont été saisies dans des formulaires HTML sont soumises, les noms et les valeurs des champs du formulaire sont codés et envoyés au serveur dans un message de requête HTTP utilisant la méthode GET ou POST ou, historiquement, par courrier électronique. Le codage utilisé par défaut est basé sur une version très ancienne des règles générales de codage en pourcentage des URI, avec un certain nombre de modifications telles que la normalisation des nouvelles lignes et le remplacement des espaces par "+" au lieu de "%20". Le type MIME des données encodées de cette manière est application/x-www-form-urlencoded, et il est actuellement défini (toujours d'une manière très obsolète) dans les spécifications HTML et XForms. En outre, la spécification CGI contient des règles sur la façon dont les serveurs Web décodent les données de ce type et les mettent à la disposition des applications.

Lorsqu'elles sont envoyées dans une demande HTTP GET, les données codées en application/x-www-form-urlencode sont incluses dans le composant de requête de l'URI de la demande. Lorsqu'elles sont envoyées dans une requête HTTP POST ou par courrier électronique, les données sont placées dans le corps du message, et le nom du type de média est inclus dans l'en-tête Content-Type du message.

 


Admin

CEO / Co-Founder

Je m'appelle Thomas, je suis développeur web. J'ai commencé ma carrière en tant que développeur freelance, puis j'ai rejoint une entreprise en tant que développeur web full-stack. J'ai ensuite créé ma propre entreprise de développement web. J'ai également enseigné le développement web à l'université.

Nous nous soucions de vos données et nous aimerions utiliser des cookies pour améliorer votre expérience. 🍪