Encodeur & Décodeur d'URL gratuit | OneStepToRank

Encodeur & Décodeur d'URL

Encodez les caractères spéciaux pour une utilisation sécurisée dans les URL et les chaînes de requête, ou décodez les chaînes encodées en pourcentage en texte lisible. Fonctionne entièrement dans votre navigateur.

Encodez / Décodez les URL

Common URL-Encoded Characters

CharacterEncodedDescription
(space)%20Space character
!%21Exclamation mark
#%23Hash / fragment
$%24Dollar sign
&%26Ampersand
'%27Apostrophe
+%2BPlus sign
/%2FForward slash
=%3DEquals sign
?%3FQuestion mark
@%40At sign

Dominez la recherche locale

Les outils développeur ne sont que le début. OneStepToRank surveille vos classements Google 24/7 sur toute votre zone de service et adapte automatiquement votre stratégie pour rester en tête.

Commencer gratuitement

Qu'est-ce que l'encodage d'URL ?

L'encodage d'URL, connu formellement sous le nom d'encodage en pourcentage, est le processus de conversion des caractères qui ne sont pas autorisés ou qui ont une signification spéciale dans une URL en une représentation sûre utilisant le signe pourcentage suivi de deux chiffres hexadécimaux. Ce mécanisme est défini par RFC 3986 (Uniform Resource Identifier) et garantit que les URL sont transmises correctement sur Internet. Par exemple, un caractère espace est encodé en %20, un esperluette devient %26, et un point d'interrogation devient %3F. Sans encodage d'URL, les navigateurs et les serveurs interpréteraient ces caractères comme des composants structurels de l'URL plutôt que comme des données littérales.

RFC 3986 et caractères réservés

RFC 3986 définit deux catégories de caractères dans les URL. Caractères non réservés — lettres (A‑Z, a‑z), chiffres (0‑9), trait d’union, souligné, point et tilde — peuvent apparaître dans une URL sans encodage. Caractères réservés tels que : / ? # [ ] @ ! $ & ' ( ) * + , ; = ont une signification structurelle spéciale dans la syntaxe URI. Lorsque ces caractères réservés doivent apparaître comme données littérales dans un composant d'URL (par exemple la valeur d'un paramètre de requête), ils doivent être encodés en pourcentage. Le processus d'encodage convertit chaque octet de la représentation UTF‑8 du caractère en format %HH, où HH est la valeur hexadécimale de l’octet. Les caractères UTF‑8 multi‑octets comme les lettres accentuées ou les emoji produisent plusieurs triplets encodés.

Encodage d'URL en développement web

Chaque langage de programmation majeur fournit des fonctions intégrées pour l'encodage d'URL. En JavaScript, encodeURIComponent() encode une chaîne pour une utilisation comme composant d'URI, tandis que encodeURI() encode une URI complète en préservant les caractères structurels. Python propose urllib.parse.quote() et urllib.parse.urlencode(). PHP possède urlencode() et rawurlencode(). Comprendre quand et comment appliquer l'encodage d'URL est essentiel pour créer des applications web sécurisées — un encodage incorrect est une source fréquente de bugs et peut entraîner des vulnérabilités d'injection lorsque les entrées utilisateur sont placées directement dans les URL sans désinfection.

Questions fréquentes

Qu'est-ce que l'encodage d'URL ?
L'encodage d'URL (encodage en pourcentage) convertit les caractères non autorisés dans une URL en un format sûr en utilisant le signe pourcentage (%) suivi de deux chiffres hexadécimaux. Par exemple, un espace devient %20 et une esperluette devient %26. Ceci est défini par le RFC 3986 et garantit que les URL sont transmises correctement sur Internet.
Quand devrais-je encoder une chaîne d'URL ?
Encodez toute chaîne qui sera utilisée comme valeur dans un paramètre de requête d'URL, surtout si elle contient des espaces, des esperluettes, des signes égal, des points d'interrogation ou des caractères non ASCII. Les scénarios courants incluent la construction d'URL de requêtes API, la création d'URL de redirection, le passage de données de formulaire en requêtes GET, et l'intégration d'URL dans d'autres URL.
Quelle est la différence entre encodeURI et encodeURIComponent ?
encodeURI() conserve les caractères qui ont une signification spéciale dans les URL comme les deux‑points, les barres obliques, les points d'interrogation et les esperluettes. encodeURIComponent() encode tout sauf les lettres, les chiffres, les traits d’union, les soulignés, les points et les tildes. Utilisez encodeURIComponent() pour les valeurs de paramètres de requête. Utilisez encodeURI() uniquement lors de l'encodage d'une URL complète tout en préservant sa structure. Cet outil utilise encodeURIComponent().
Quels caractères sont sûrs dans une URL sans encodage ?
Selon le RFC 3986, les caractères non réservés qui n'ont jamais besoin d'être encodés sont : A‑Z, a‑z, 0‑9, trait d’union (-), souligné (_), point (.) et tilde (~). Tous les autres caractères — y compris les espaces, les esperluettes, les signes égal, les barres obliques et tout caractère non ASCII — doivent être encodés en pourcentage lorsqu'ils sont utilisés dans des composants d'URL comme les valeurs de paramètres de requête.