Cookies Ce site ne conserve que ce dont il a besoin pour fonctionner. Il n’y a aujourd’hui ni mesure d’audience ni publicité, et rien ici ne vous suit sur d’autres sites. Lire la politique de confidentialité

Choisir ce que j’autorise
+92 312 8299940Devis gratuit
Outil gratuit, rien à installer

Encodeur et décodeur d’URL
Avec les deux portées bien séparées

Cet encodeur et décodeur d’URL échappe une valeur dans une adresse. Il encode aussi une adresse entière sans toucher aux barres qui la structurent, ou convertit un domaine international en punycode et inversement. Choisissez la nature de votre texte, et le reste suit.

  • GratuitPrix
  • 2Portées
  • AucuneInscription
  • AucuneEnvois

Encodeur et décodeur d’URL

Encodage en pourcentage et punycode, chaque portée à part

Caractères en entrée
0
Modifiés
0
Caractères en sortie
0

Une valeur dans une adresse doit avoir tous ses caractères réservés échappés. Une adresse entière doit garder ses barres obliques et ses deux-points, sinon elle cesse d’être une adresse.

Prêt. Collez quelque chose et la conversion se fait pendant la saisie.

Votre navigateur fait tout le travail ici, dans cet onglet. Nous n’envoyons rien, ne stockons rien et n’enregistrons rien.
En bref

Pourquoi on encode en pourcentage

Tout d’abord, une adresse ne peut transporter en sécurité qu’un petit ensemble de caractères. Des lettres, des chiffres et quelques symboles.

Tout le reste voyage sous la forme d’un signe pourcentage suivi de deux chiffres hexadécimaux. Ainsi, une espace devient %20, un dièse %23, et une lettre accentuée deux ou trois de ces paires.

Les règles viennent du URL Standard, que les navigateurs mettent en œuvre. Les documents plus anciens décrivent la RFC 3986, et les deux s’accordent sur ce qui compte ici.

L’encodage pourcentage n’est donc ni de la compression ni de la sécurité. C’est une façon de dire "ces caractères sont des données, pas de la structure".

Les deux portées, et pourquoi elles diffèrent

Une adresse entière a besoin que sa structure reste intacte. Les barres obliques séparent les segments du chemin, le point d’interrogation ouvre la requête et, de plus, les esperluettes séparent les paramètres.

Schéma d’un espace, d’une esperluette et d’une lettre accentuée dans un lien convertis en codes pourcentage comme %20, %26 et %C3%A9
Les caractères non sûrs deviennent des codes pourcentage.

En revanche, une valeur dans cette adresse a besoin du contraire. Une barre oblique dans un nom de produit est une donnée. Laissée brute, le serveur la lit comme un segment de chemin de plus.

Toute la distinction est là, et choisir la mauvaise est le bug le plus courant dans la gestion des URL. C’est précisément pourquoi l’encodage pourcentage a deux fonctions dans chaque langage.

Le problème du signe plus

Dans une chaîne de requête, un signe plus signifie une espace depuis les premiers formulaires HTML. En revanche, dans un chemin, il signifie un plus littéral.

Encodeur d’URL avec un lien contenant un espace, une esperluette et une lettre accentuée à gauche et le résultat encodé en pourcentage à droite
Les espaces et les symboles deviennent des codes.

Le même caractère se décode donc de deux façons selon sa place. C’est pourquoi un décodeur qui devine se trompe une fois sur deux.

L’interrupteur ici vous laisse le choix. Activez-le pour tout ce qui sort d’un formulaire et, au contraire, désactivez-le pour un chemin ou un fragment.

Le double encodage

Encodez deux fois et %20 devient %2520. Cela arrive quand un framework échappe une valeur qui portait déjà des échappements. Le signe révélateur est donc un pourcentage suivi de 25 dans vos journaux.

Ce qui n’a jamais besoin d’être encodé

Les lettres, les chiffres, le trait d’union, le point, le tiret bas et le tilde sont non réservés. C’est pourquoi ils traversent tout encodeur sans changement, quelle que soit la portée.

Décodeur d’URL avec un texte encodé en pourcentage collé et le texte lisible avec l’accent et les symboles dans la sortie
Décodez un lien en texte lisible.

Cependant, tout le reste dépend de la position. Un deux-points est de la structure dans un schéma et une donnée dans un paramètre. De plus, l’arobase et la virgule se comportent de la même façon.

Dans le doute, encodez. Une valeur trop encodée fonctionne encore, tandis qu’une valeur pas assez encodée casse d’une façon qui n’apparaît qu’avec certaines entrées.

Où l’encodage déraille en pratique

Un champ de recherche est l’endroit habituel. Souvent, quelqu’un tape une phrase avec une esperluette. Ensuite, le code place cette phrase directement dans une chaîne de requête, et le serveur voit deux paramètres.

Encodeur d’URL avec la portée adresse complète choisie, si bien que les barres obliques et le point d’interrogation restent et que seul l’espace est encodé
Le mode adresse complète garde les barres obliques.

Les noms de fichier viennent en deuxième. Un nom avec une espace, un dièse ou un plus casse un lien de téléchargement sur certains serveurs et pas sur d’autres. C’est pourquoi le bug est difficile à reproduire.

Les paramètres de redirection viennent en troisième. Une adresse entière dans une autre voyage comme une seule valeur. Donc chaque barre oblique et chaque deux-points qu’elle contient doivent être échappés.

Les trois se corrigent de la même façon. Échappez la valeur, pas l’adresse, et laissez le constructeur d’URL assembler le reste.

Où l’encodage déraille en pratique

Un champ de recherche est l’endroit habituel. Quelqu’un tape une phrase avec une esperluette, le code la place directement dans une chaîne de requête et, par conséquent, le serveur voit deux paramètres.

Les noms de fichier viennent en deuxième. Un nom avec une espace, un dièse ou un plus casse un lien de téléchargement sur certains serveurs et pas sur d’autres, ce qui rend le bug difficile à reproduire.

Les paramètres de redirection viennent en troisième. Une adresse entière dans une autre doit voyager comme une seule valeur, donc chaque barre oblique et chaque deux-points qu’elle contient doivent être échappés.

Les trois se corrigent de la même façon. Échappez la valeur, pas l’adresse, et laissez le constructeur d’URL assembler le reste.

Où l’encodage déraille en pratique

Un champ de recherche est l’endroit habituel. Quelqu’un tape une phrase avec une esperluette, le code la place directement dans une chaîne de requête et, par conséquent, le serveur voit deux paramètres.

Les noms de fichier viennent en deuxième. Un nom avec une espace, un dièse ou un plus casse un lien de téléchargement sur certains serveurs et pas sur d’autres, ce qui rend le bug difficile à reproduire.

Les paramètres de redirection viennent en troisième. Une adresse entière dans une autre doit voyager comme une seule valeur, donc chaque barre oblique et chaque deux-points qu’elle contient doivent être échappés.

Les trois se corrigent de la même façon. Échappez la valeur, pas l’adresse, et laissez le constructeur d’URL assembler le reste.

Encoder n’est pas échapper pour le HTML

L’encodage pourcentage rend un texte sûr dans une adresse. En revanche, les entités HTML rendent un texte sûr dans un document. Utiliser l’un à la place de l’autre donne un lien qui a l’air correct et ne mène nulle part.

Comment ça marche

L’encodeur et décodeur d’URL, étape par étape

Trois étapes, et la deuxième est la seule décision. Pendant ce temps, le résultat suit chaque frappe.

  • 1

    Collez votre texte

    Une adresse, une valeur ou toute une liste. De plus, chaque ligne se convertit séparément, sauf si vous désactivez cet interrupteur.

  • 2

    Dites ce que c’est

    Une adresse entière garde ses barres obliques et ses deux-points. En revanche, une valeur échappe tout, car tout ce qu’elle contient est une donnée.

  • 3

    Réglez l’interrupteur du plus

    Activez-le pour tout ce qui vient d’un formulaire, où un plus signifie une espace. Laissez-le éteint pour un chemin, où un plus signifie un plus.

  • 4

    Vérifiez l’aller-retour

    Appuyez sur Déplacer le résultat à gauche et convertissez de nouveau. Tout ce qui ne revient pas inchangé mérite un second regard.

Pourquoi celui-ci

Ce qui distingue cet encodeur d’URL en ligne

La plupart des convertisseurs offrent un bouton et espèrent. Ici, au contraire, les différences tiennent à l’interrupteur de portée, à celui du plus et à l’honnêteté face aux échecs.

  • Deux portées, expliquées en mots

    Le menu demande ce qu’est votre texte au lieu de nommer deux fonctions JavaScript. C’est justement le choix sur lequel les gens se trompent.

  • Le signe plus, c’est vous qui décidez

    Un plus signifie une espace dans une requête et un plus dans un chemin. Un interrupteur, et aucune devinette d’un côté comme de l’autre.

  • Ligne par ligne

    Collez cent adresses et chacune se convertit séparément, donc une liste revient sous forme de liste et non d’une longue chaîne.

  • De vraies erreurs, pas le silence

    Un signe pourcentage égaré rend le décodage impossible. L’outil le dit, au lieu de rendre l’entrée inchangée et de vous laisser croire que cela a marché.

  • Un aller-retour réversible

    Échangez les panneaux et convertissez de nouveau. Si ce qui revient diffère de votre point de départ, quelque chose au milieu ne va pas.

  • Vos fichiers restent dans cet onglet

    Les chaînes de requête contiennent des jetons, des e-mails et des numéros de commande. Comme chaque conversion se fait dans votre navigateur, rien de tout cela n’atteint un serveur.

Bonnes habitudes

Des règles pour encoder les adresses

La plupart des bugs d’URL viennent de quatre ou cinq habitudes. Ces huit règles les couvrent.

  • Encodez des valeurs, pas des adresses. Construisez l’adresse par morceaux et échappez chaque valeur en l’ajoutant. Encoder la chaîne finie, c’est là que la structure se détruit.
  • Utilisez l’objet URL dans le code. Chaque langage moderne en a un. Il gère l’échappement partie par partie, soit exactement le travail que vous alliez faire à la main.
  • N’encodez jamais une valeur deux fois. Si une valeur arrive échappée, laissez-la. Cherchez %25 dans vos journaux, puisqu’il marque un signe pourcentage passé deux fois par l’encodeur.
  • Gardez le fragment hors des requêtes. La partie placée après le # ne quitte jamais le navigateur. Un serveur ne le voit jamais, donc l’encoder pour un serveur ne sert à rien.
  • Surveillez l’esperluette. Une esperluette non échappée dans une valeur coupe un paramètre en deux. C’est la cause la plus courante d’une requête tronquée.
  • Décodez seulement pour l’affichage. Montrez aux gens la forme lisible et gardez la forme échappée pour les liens et les requêtes. Stocker la version décodée invite à un double encodage plus tard.
  • Souvenez-vous que le non-ASCII, ce sont des octets. Une lettre accentuée devient deux paires de pourcentage, un emoji quatre. C’est l’UTF-8, et une limite de longueur compte la forme échappée.
  • Testez avec une valeur vraiment gênante. Un nom avec une apostrophe, une barre oblique et une espace trouve tous les bugs en dix secondes. Deviner quels caractères apparaîtront n’y arrive jamais.
À éviter

Six erreurs d’encodage qui cassent les liens

Chacune produit un lien qui marche pour la plupart des entrées et échoue sur les plus intéressantes.

  • Encoder l’adresse entière comme une valeur

    Chaque barre oblique et chaque deux-points deviennent un échappement, et le résultat est une chaîne qu’aucun navigateur n’ouvrira.

  • Laisser une valeur brute

    Une barre oblique ou une esperluette à l’intérieur réécrit la forme de l’adresse, et le serveur lit quelque chose que vous n’avez jamais envoyé.

  • Le double encodage en chemin

    Un framework échappe ce qu’un modèle a déjà échappé, et le lecteur voit des signes pourcentage au milieu d’un titre de page.

  • Supposer qu’un plus est toujours une espace

    Dans un chemin, c’est un plus littéral. Un décodeur qui les remplace tous abîme des noms de fichier à la chaîne.

  • Encoder le dièse pour un serveur

    Les fragments ne quittent jamais le navigateur. En échapper un pour une requête ne change rien, sauf la longueur de la chaîne.

  • Écrire soi-même la table d’échappement

    Une chaîne de remplacements oublie toujours un caractère. Utilisez la fonction intégrée, qui suit le standard plutôt que le souvenir qu’en a quelqu’un.

Questions

Les questions fréquentes sur l’encodage

En quoi les deux portées diffèrent-elles ?

Une valeur échappe tous les caractères réservés, y compris les barres obliques et les esperluettes. En revanche, une adresse entière les laisse tranquilles, puisque ce sont eux qui lui donnent sa forme.

Pourquoi mon adresse ne marche-t-elle plus après l’encodage ?

Presque toujours à cause de la mauvaise portée. En effet, encoder un lien complet comme une seule valeur transforme ses barres obliques et deux-points en échappements, et rien ne peut ouvrir le résultat.

Cet encodeur d’URL en ligne gère-t-il les emojis ?

Oui. Un emoji devient quatre paires de pourcentage, car UTF-8 l’encode sur quatre octets. De plus, le décodage rend l’emoji exactement tel que vous l’avez tapé.

Que signifie %20 ?

Une espace. Le 20 est l’hexadécimal de 32, le code de caractère d’une espace, et de plus chaque échappement suit ce même schéma.

Faut-il utiliser %20 ou un plus pour les espaces ?

Utilisez %20 partout. Un plus fonctionne dans les chaînes de requête par convention, tandis que %20 est correct dans toutes les parties d’une adresse.

Pourquoi le décodage échoue-t-il parfois ?

Parce qu’un signe pourcentage apparaît sans deux chiffres hexadécimaux valides derrière. Ce n’est pas un échappement, donc le décodeur ne peut pas deviner ce qu’il devait être.

L’encodage pourcentage est-il une mesure de sécurité ?

Non. Il empêche que des caractères soient lus comme de la structure, ce qui évite une catégorie de bugs. Cependant, il ne fait rien pour ce que vous faites ensuite de la valeur.

Puis-je convertir toute une liste d’un coup ?

Oui. Laissez l’interrupteur des lignes activé et collez-en autant que vous voulez. Ainsi, chaque ligne se convertit séparément et revient sur sa propre ligne.

Pourquoi mon adresse s’allonge-t-elle à l’encodage ?

Parce que chaque caractère échappé en devient trois, et un caractère non ASCII six ou plus. C’est pourquoi cela compte quand un service limite la longueur d’un lien.

Pourquoi mon adresse s’allonge-t-elle à l’encodage ?

Parce que chaque caractère échappé en devient trois, et un caractère non ASCII six ou plus. C’est pourquoi cela compte quand un service limite la longueur d’un lien.

Pourquoi mon adresse s’allonge-t-elle à l’encodage ?

Parce que chaque caractère échappé en devient trois, et un caractère non ASCII six ou plus. C’est pourquoi cela compte quand un service limite la longueur d’un lien.

Ce que je colle ici est-il envoyé ?

Non. Votre navigateur fait la conversion dans cet onglet, donc les jetons et numéros de commande d’une chaîne de requête n’atteignent jamais ce site.

Plus d’outils gratuits

Des outils pour travailler les adresses

L’encodage est une étape. Ces trois outils couvrent celles d’avant et d’après.

Prêt à convertir quelque chose ?

Collez votre texte, choisissez la portée et vérifiez l’aller-retour. L’encodeur et décodeur d’URL est gratuit, ne demande aucun compte et garde chaque caractère sur votre appareil.