RUV CalculatorEncodeur et décodeur d'URLhttps://calc.ruvlabs.com/fr/c/url-encoder

Encodeur et décodeur d'URL

Encodage pour cent dans les deux sens

Options avancées

Résultat

Détail
Longueur

Comment mettre ceci dans une URL ?

%EA%B3%84%EC%82%B0%EA%B8%B0%20%EA%B2%80%EC%83%89

Un exemple avec les valeurs de départ. Modifiez les champs ci-dessus pour votre cas.

Ce que fait l'encodage pour cent

Les URL n'admettent qu'un jeu restreint de caractères. Tout le reste est converti en octets UTF-8, chacun écrit comme un signe pour cent suivi de deux chiffres hexadécimaux. Une espace devient %20, é devient %C3%A9, et un caractère chinois, japonais ou coréen, qui fait trois octets, neuf caractères.

Cet outil distingue l'encodage d'une adresse entière de celui d'une valeur isolée. Dans une adresse entière les caractères de structure comme les barres obliques et les points d'interrogation doivent survivre ; dans une valeur isolée — un terme de recherche, par exemple — ces mêmes caractères doivent eux aussi être encodés, sans quoi le paramètre se scinde.

Le décodage fait le chemin inverse, retransformant chaque triplet pour cent en octet et lisant le résultat comme de l'UTF-8. Il sert surtout à retrouver un terme de recherche d'origine à partir d'une adresse consignée dans un journal ou un référent.

Se tromper de portée d'encodage

Encoder une valeur isolée comme s'il s'agissait d'une adresse entière tronque le paramètre. Si un terme de recherche contient une esperluette laissée intacte, le serveur y lit le début d'un nouveau paramètre. Les valeurs de requête exigent l'encodage au niveau composant.

L'inverse échoue aussi : encoder une adresse entière au niveau composant réécrit les barres obliques et les deux-points, et le lien n'ouvre plus. L'encodage composant est le bon quand une URL complète est transportée dans une autre URL comme paramètre, et le mauvais quand le résultat part directement dans la barre d'adresse.

Encoder une seconde fois une chaîne déjà encodée transforme chaque signe pour cent en %25 et produit une double couche. Voir plusieurs occurrences de %25 dans la sortie signifie presque toujours que c'est arrivé, et récupérer l'original demande alors deux passes de décodage.

Questions fréquentes

Que change l'option valeur de requête ?

Activée, elle utilise encodeURIComponent ; désactivée, encodeURI. La différence tient à l'échappement ou non des délimiteurs : / ? # [ ] @. Désactivez-la pour encoder une URL entière en conservant les barres obliques ; activez-la pour la valeur d'un seul paramètre, afin qu'une esperluette à l'intérieur ne soit pas lue comme un séparateur.

Pourquoi les URL non latines deviennent-elles si longues ?

L'encodage pour cent transforme chaque octet UTF-8 en trois caractères. Une lettre accentuée fait deux octets, donc six caractères ; un caractère chinois, japonais ou coréen trois octets, donc neuf.

Un espace, est-ce + ou %20 ?

Les deux existent. Les envois de formulaire utilisent +, les chemins d'URL généraux %20. Cet outil produit %20 ; qu'un serveur accepte aussi + comme espace dépend de son implémentation.

Le calcul se fait dans ce navigateur. Vérifiez ce que vous avez saisi avant d'utiliser le résultat.