Encodeur/Décodeur URL
Encodez et décodez les chaînes URL instantanément.
Le texte sera encodé en URL (encodage pourcentage)
Qu'est-ce que l'Encodage URL ?
L'encodage URL, également connu sous le nom d'encodage pourcentage, est un mécanisme pour encoder des informations dans un Identifiant de Ressource Uniforme (URI). Il garantit que les caractères spéciaux et les caractères non-ASCII peuvent être transmis en toute sécurité dans les URLs sans casser la structure de l'URL ou causer des erreurs d'analyse.
L'encodage utilise un signe pourcentage (%) suivi de deux chiffres hexadécimaux. Par exemple, un espace devient %20, et le symbole @ devient %40. Ce format est défini dans RFC 3986, la norme pour la syntaxe URI.
RFC 3986 spécifie quels caractères sont 'réservés' (ont une signification spéciale dans les URLs) et lesquels sont 'non réservés' (sûrs à utiliser sans encodage). Les caractères réservés doivent être encodés lorsqu'ils sont utilisés dans des parties d'une URL où ils ont une signification spéciale.
Quand Utiliser l'Encodage URL
L'encodage URL est essentiel dans plusieurs scénarios :
- Paramètres de requête : Les valeurs dans les chaînes de requête URL (après ?) doivent être encodées pour gérer les espaces, caractères spéciaux et texte non-ASCII
- Segments de chemin : Lorsque les URLs contiennent du contenu généré par l'utilisateur ou des noms de fichiers avec caractères spéciaux
- Caractères spéciaux : Les caractères comme &, =, ?, # et espaces ont une signification spéciale dans les URLs et doivent être encodés
- Caractères internationaux : Les caractères non-ASCII comme é, ñ ou caractères chinois doivent être encodés en utilisant l'encodage pourcentage UTF-8
- Formulaires HTML : Les données de formulaire soumises via méthode GET sont automatiquement encodées en URL dans la chaîne de requête
Règles d'Encodage URL
Comprendre quels caractères nécessitent un encodage vous aide à créer des URLs valides :
Exemples Courants d'Encodage
Voici des exemples réels d'encodage URL :
Erreurs Courantes d'Encodage URL
Évitez ces erreurs fréquentes lors de l'utilisation de l'encodage URL :
- Double encodage : Encoder une chaîne déjà encodée donne %2520 au lieu de %20. Vérifiez toujours si une chaîne est déjà encodée avant d'encoder à nouveau.
- Encoder des URLs entières : Encodez uniquement les parties qui nécessitent un encodage (valeurs de requête, segments de chemin), pas l'URL entière incluant le protocole et le domaine.
- Encoder les barres obliques : Les barres obliques (/) dans les chemins ne doivent PAS être encodées. Encodez-les uniquement dans les valeurs de paramètres de requête.
- Encoder uniquement les paramètres de requête : N'oubliez pas que les segments de chemin avec caractères spéciaux nécessitent également un encodage, pas seulement les chaînes de requête.
- Sensibilité à la casse : L'encodage pourcentage utilise l'hexadécimal en majuscules (A-F), bien que les minuscules (a-f) soient également valides. Soyez cohérent dans votre encodage.
encodeURIComponent vs encodeURI
JavaScript fournit deux fonctions d'encodage avec des objectifs différents :
Encode presque tout, y compris les caractères réservés. Utilisez ceci pour encoder les valeurs de paramètres de requête, données de formulaire ou toute chaîne qui fera partie d'un composant URL.
Encode l'URI mais préserve les caractères qui ont une signification dans les URIs (comme :, /, ?, #). Utilisez ceci lors de l'encodage d'un URI entier que vous voulez garder fonctionnel.
Guide du Développeur pour l'Encodage URL
Meilleures pratiques pour le développement web :
- urlEncoder.content.developerGuide.javascript
- urlEncoder.content.developerGuide.python
- urlEncoder.content.developerGuide.php
- urlEncoder.content.developerGuide.java
- urlEncoder.content.developerGuide.csharp
Encodage URL et SEO
Impact sur le référencement :
- urlEncoder.content.seoGuide.readableUrls
- urlEncoder.content.seoGuide.slugs
- urlEncoder.content.seoGuide.parameters
- urlEncoder.content.seoGuide.canonical
Outils Connexes
urlEncoder.faq.title
urlEncoder.faq.q1.question
urlEncoder.faq.q1.answer
urlEncoder.faq.q2.question
urlEncoder.faq.q2.answer
urlEncoder.faq.q3.question
urlEncoder.faq.q3.answer
urlEncoder.faq.q4.question
urlEncoder.faq.q4.answer
urlEncoder.faq.q5.question
urlEncoder.faq.q5.answer