Formater du JSON
Mettre en forme, valider et replier du JSON.
Développement
Encoder et décoder adresses et paramètres.
C’est la distinction où l’on se trompe, et elle produit une adresse qui paraît correcte et ne fonctionne pas.
Si vous encodez une adresse complète, les barres obliques, les deux-points et les points d’interrogation doivent conserver leur rôle. Si vous encodez seulement la valeur d’un paramètre, ces mêmes caractères doivent au contraire être encodés, sans quoi la valeur casse l’adresse.
Exemple : pour transmettre « café & thé » comme terme de recherche, l’esperluette doit être encodée. Sinon le serveur croit qu’un second paramètre commence et ne cherche que « café ».
Cet outil propose les deux modes. Pour une valeur de paramètre, choisissez le mode strict ; pour une adresse complète, le mode souple.
Les lettres accentuées ne sont pas des caractères d’adresse ordinaires et sont donc encodées.
| Caractère | Devient |
|---|---|
| espace | %20 (ou + dans un paramètre) |
| é | %C3%A9 |
| è | %C3%A8 |
| ç | %C3%A7 |
| € | %E2%82%AC |
| & | %26 |
Qu’un é produise deux groupes vient de ce qu’il occupe deux octets en UTF-8, chacun encodé séparément. C’est correct, même si cela paraît lourd.
L’espace connaît deux formes : %20 fonctionne partout, le signe plus seulement dans la partie interrogative de l’adresse. Dans un chemin, un plus reste un plus. En cas de doute, %20 est le choix sûr.
L’erreur la plus difficile à repérer, parce que le résultat semble presque juste.
Encoder une adresse déjà encodée encode le signe pourcent lui-même : %20 devient %2520. Le destinataire décode une fois, obtient %20, et le traite comme du texte littéral.
On le reconnaît à la présence de %25 là où on ne l’attend pas. Si vous en voyez, il y a une étape d’encodage de trop.
Cela survient surtout sur les adresses qui traversent plusieurs systèmes — un lien dans un courriel, passant par un traceur de clics, vers une destination finale. Chacun croit devoir encoder.
En cas de doute, décodez entièrement puis encodez une seule fois. Tout se passe dans cette page.
Les espaces doivent être encodés en %20. Dans un paramètre, un plus est aussi admis.
Il occupe deux octets en UTF-8, chacun encodé séparément.
Seulement pour une valeur de paramètre, pas pour une adresse complète.
Un double encodage. Décodez entièrement puis encodez une seule fois.
%20 fonctionne partout ; le plus seulement dans la partie interrogative.
Non.