JSON opmaken
JSON opmaken, controleren en samenvouwen.
Ontwikkelaar
Webadressen coderen en decoderen.
Dit is het onderscheid waar het misgaat, en het levert een adres op dat er goed uitziet en niet werkt.
Codeer je een compleet adres, dan moeten de schuine strepen, de dubbele punt en de vraagtekens hun betekenis houden. Codeer je alleen de waarde van een parameter, dan moeten juist die tekens wél gecodeerd worden — anders breekt de waarde het adres op.
Voorbeeld: wil je „koffie & thee" als zoekwaarde meegeven, dan moet de ampersand gecodeerd worden. Doe je dat niet, dan denkt de server dat er een tweede parameter begint en zoekt hij alleen op „koffie".
Deze tool biedt beide. Voor een waarde in een parameter kies je de strengere variant; voor een compleet adres de mildere.
Accenten en umlauten zijn geen gewone adrestekens en worden dus gecodeerd.
| Teken | Wordt |
|---|---|
| spatie | %20 (of + in een parameter) |
| é | %C3%A9 |
| ë | %C3%AB |
| € | %E2%82%AC |
| & | %26 |
| / | %2F |
Dat een é twee delen oplevert, komt doordat hij in UTF-8 uit twee bytes bestaat en elke byte apart gecodeerd wordt. Dat is correct, ook al ziet het er onhandig uit.
De spatie kent twee vormen: %20 werkt overal, de plus alleen in het vraaggedeelte van een adres. In een pad is een plus gewoon een plusteken. Bij twijfel is %20 de veilige keuze.
De lastigste fout om te vinden, omdat het resultaat er bijna goed uitziet.
Codeer je een al gecodeerd adres nog een keer, dan wordt het percentteken zelf gecodeerd: %20 wordt %2520. De ontvanger decodeert één keer en houdt %20 over, dat als letterlijke tekst wordt behandeld.
Herkenbaar aan %25 op plekken waar je dat niet verwacht. Zie je dat, dan is er ergens een codeerstap te veel.
Dit gebeurt vooral bij adressen die door meerdere systemen gaan — een link in een e-mail, via een klikregistratie, naar een uiteindelijke bestemming. Elk systeem denkt te moeten coderen.
Decodeer bij twijfel eerst helemaal en codeer dan één keer opnieuw. Alles gebeurt in deze pagina.
Spaties moeten gecodeerd worden als %20. In een parameter mag ook een plus.
In UTF-8 bestaat é uit twee bytes, en elke byte wordt apart gecodeerd.
Alleen als je een waarde in een parameter codeert, niet bij een compleet adres.
Dubbele codering. Decodeer helemaal en codeer daarna één keer.
%20 werkt overal. De plus alleen in het vraaggedeelte.
Nee.