Retour à l'accueil Développeur Encodeur d'URL

Encodeur d'URL

Encodez et décodez les URL

Comment utiliser Encodeur d'URL

Encodez et décodez les URL Outil gratuit en ligne, sans inscription, sans publicités intrusives. Utilisez maintenant.

À quoi sert l'encodage d'URL ?

Les URLs ne peuvent contenir qu'un ensemble limité de caractères ASCII. Les caractères spéciaux — espaces, accents, ponctuation et caractères non-ASCII — doivent être encodés en séquences de pourcentage (%XX) pour être transmis en toute sécurité dans une URL. Cela est particulièrement pertinent pour le français avec ses nombreux accents.

Règles d'encodage : Les lettres (A-Z, a-z), les chiffres (0-9) et les caractères -_.~ ne sont jamais encodés. Tout le reste est encodé comme % suivi de deux chiffres hexadécimaux représentant les valeurs d'octets UTF-8 du caractère concerné.

Frequently Asked Questions

Quelle est la différence entre encodeURI et encodeURIComponent en JavaScript ?

encodeURI encode une URL complète — il laisse les caractères structurels de l'URL (/, ?, &, #, :) non encodés car ils ont une signification dans l'URL. encodeURIComponent encode tout sauf les lettres, chiffres et -_.~* — utilisé pour les valeurs individuelles de paramètres. Utilisez toujours encodeURIComponent pour les valeurs des paramètres de requête.

Quelle est la différence entre + et %20 pour les espaces ?

Les deux représentent un espace dans l'encodage d'URL, mais dans des contextes différents. %20 est correct pour tous les composants d'URL. Le signe + représente un espace uniquement dans application/x-www-form-urlencoded (données de formulaire HTML) — pas dans les segments de chemin. Utiliser + dans un chemin encode un signe plus littéral, pas un espace.

Pourquoi décoder deux fois cause-t-il des problèmes ?

Si %252F apparaît dans une URL, il encode %2F (qui lui-même encode /). Décoder une fois donne %2F. Décoder deux fois donne /. Le double encodage se produit quand une valeur est encodée puis toute l'URL est encodée à nouveau. Cela cause des problèmes de sécurité (attaques de path traversal) quand les serveurs décodent les URLs plusieurs fois.

Quels caractères doivent être encodés dans un segment de chemin d'URL ?

Les caractères réservés avec une signification spéciale doivent être encodés dans les segments de chemin : espace (%20), # (%23), % (%25), ? (%3F) et autres. La barre oblique / est le séparateur de chemin — pour inclure une barre oblique littérale dans un segment de chemin, encodez-la en %2F.

Qu'est-ce que Punycode et comment se rapporte-t-il à l'encodage d'URL ?

Punycode convertit les noms de domaine internationalisés (IDN) avec des caractères non-ASCII en encodage compatible ASCII. 'münchen.de' devient 'xn--mnchen-3ya.de' en Punycode. C'est différent de l'encodage percentuel — cela s'applique spécifiquement aux noms de domaine, pas aux chemins ou paramètres.

Encodage URL vs Base64 vs entités HTML

L'encodage URL (encodage percentuel) rend les données sûres pour les URLs. L'encodage Base64 rend les données binaires sûres pour les contextes texte (email, JSON). Les entités HTML rendent les caractères spéciaux sûrs pour HTML : & devient &amp;, < devient &lt;. Chacun résout le même problème — représenter des données dans un jeu de caractères restreint — mais pour des contextes de destination différents. Utiliser le mauvais encodage pour le contexte cause des erreurs d'affichage ou des vulnérabilités de sécurité.

☕ Buy me a coffee