Encoder l'URL
Encoder et décoder les composants d'URL
Qu'est-ce que l'encodage d'URL / en pourcentage ?
Les URL ne peuvent contenir qu'un petit ensemble de caractères ASCII. Tout le reste — espaces, lettres accentuées, emoji, caractères réservés comme `&`, `=`, `?` — doit être encodé en pourcentage sous la forme `%` suivi de deux chiffres hexadécimaux représentant les octets UTF-8. Un espace devient `%20`, `é` devient `%C3%A9`, le point d'interrogation devient `%3F`.
Utilisez l'encodage 'composant' lorsque vous échappez à un seul élément (une valeur de paramètre de requête, un segment de chemin) — équivalent à `encodeURIComponent` de JavaScript. Utilisez l'encodage 'URL complète' lorsque vous échappez à une URL entière qui a déjà des délimiteurs structurels que vous souhaitez préserver — équivalent à `encodeURI`.
Cas d'utilisation
- Construire des chaînes de requête — encoder en pourcentage l'entrée de l'utilisateur avant de l'insérer dans les paramètres `?q=`.
- Inspecter les journaux du serveur — décoder des URL déformées pour lire le chemin original (`/Users/%E4%B8%AD%E6%96%87/...`).
- Déboguer les redirections OAuth — coller un `redirect_uri` pour voir exactement ce que le rappel OAuth a décodé.
- Lire des exemples curl — copier une URL encodée en pourcentage d'un tutoriel et la décoder pour comprendre la requête.
Exemples
| Entrée | Résultat |
|---|---|
| hello world & friends | hello%20world%20%26%20friends |
| café/menu?id=123 | caf%C3%A9%2Fmenu%3Fid%3D123 (component) or caf%C3%A9/menu?id=123 (full URL) |
Questions fréquemment posées
Quelle est la différence entre encodeURI et encodeURIComponent ?
`encodeURI` laisse les caractères structurels de l'URL (`:`, `/`, `?`, `#`, `&`, `=`) intacts — pour encoder une URL entière. `encodeURIComponent` les échappe aussi — pour encoder un seul élément qui va dans une URL.
Peut-il gérer des caractères non-ASCII ?
Oui. Les caractères en dehors de l'ASCII sont encodés sous forme de leurs octets UTF-8 (1–4 octets), chacun représenté par `%XX`.
Le `+` est-il interprété comme un espace lors du décodage ?
Non. Cet outil utilise le décodage d'URL standard, qui laisse `+` inchangé. La règle `+`-signifie-espace est spécifique aux données de formulaire `application/x-www-form-urlencoded`, et cet outil n'a pas de mode de décodage de formulaire séparé.
Pourquoi mon URL se casse-t-elle après l'encodage ?
Vous avez encodé des caractères structurels (`:`, `/`, `?`, `#`) qui devaient rester littéraux. Cet outil effectue toujours un encodage de composant (`encodeURIComponent`), ce qui les échappe — donc encodez uniquement les valeurs de requête individuelles ou les segments de chemin, pas l'URL entière.
Quelque chose est-il téléchargé ?
Non — l'encodage et le décodage se déroulent entièrement dans votre navigateur.
