Qu'est-ce que l'encodage pourcent (encodage d'URL) ?
Guides d'encodage d'URL
À l'origine, une URL n'était conçue que pour transporter un ensemble limité de caractères ASCII. Placez un espace, une lettre non latine ou un caractère spécial comme ? ou & directement dans une adresse, et différents navigateurs ou serveurs peuvent l'interpréter différemment, ou l'adresse peut se casser. La solution est l'encodage pourcent (percent-encoding) — ce que l'on appelle généralement l'encodage d'URL.
Ce que signifie %XX
L'encodage pourcent remplace un caractère non sûr par sa valeur d'octet en hexadécimal, précédée de %. Un espace devient %20, un point d'interrogation devient %3F. Un caractère composé de plusieurs octets, comme la plupart des lettres non latines, reçoit un %XX par octet UTF-8.
- espace →
%20 ?→%3F&→%26€(UTF-8) →%E2%82%AC
Pourquoi l'UTF-8
Le web moderne considère l'UTF-8 comme la norme. La fonction encodeURIComponent du navigateur convertit le texte en octets UTF-8, puis transforme chaque octet en %XX. Cela signifie que le même caractère s'encode toujours de la même manière, et le décodage restitue le texte d'origine à l'identique.
L'outil d'encodage/décodage de ce site utilise les fonctions intégrées du navigateur : votre saisie est donc convertie instantanément et n'est jamais envoyée à un serveur.
Quand en avez-vous besoin
Vous avez besoin de l'encodage pourcent chaque fois que vous insérez une chaîne arbitraire dans une partie d'une adresse — un lien contenant un terme de recherche, une valeur de paramètre de requête, ou une URL de redirection placée à l'intérieur d'une autre URL. Sans encodage, un & ou un = présent dans la valeur peut être pris pour un séparateur et tronquer le paramètre.