Hoe URL's te coderen en te decoderen
Als u ooit %20 in een URL hebt gezien waar een spatie zou moeten staan, of %C3%A9 waar een geaccentueerd teken op zijn plaats was, hebt u URL-codering ontmoet. Het is een fundamentele bouwsteen van het web, en het begrijpen ervan helpt om gebroken links, API-problemen en formulierinzendingen te debuggen.
Wat URL-codering doet
URL's mogen alleen een beperkte set van veilige tekens bevatten: letters (A-Z, a-z), cijfers (0-9) en enkele speciale tekens (-, _, ., ~). Al het andere — spaties, accenten, emoji, symbolen zoals &, =, #, ? — moet worden geconverteerd naar een veilig formaat.
URL-codering (ook wel percent-encoding genoemd) vervangt onveilige tekens door een % gevolgd door hun hexadecimale byte-waarde:
| Teken | Gecodeerd |
|---|---|
| Spatie | %20 |
| & | %26 |
| = | %3D |
| # | %23 |
| ? | %3F |
| / | %2F |
| @ | %40 |
Wanneer URL-codering nodig is
- Queryparameters met speciale tekens — een query als
prijs > 100 & categorie = schoenenheeft codering nodig om in een URL te werken - Niet-Latijnse tekens in URL's — namen, steden of inhoud in andere talen moeten worden gecodeerd
- API-aanvragen — bij het handmatig opbouwen van API-aanroepen hebben parameterwaarden vaak codering nodig
- Debuggen — wanneer een URL niet werkt, onthult het decoderen ervan de werkelijke waarden
Hoe te coderen en te decoderen
- Kies coderen of decoderen — selecteer de richting. Gebruik encodeURIComponent voor queryparameters of encodeURI voor volledige URL's.
- Plak uw invoer — voer de tekst of URL in. Het resultaat wordt direct bijgewerkt.
- Kopieer de uitvoer — gebruik het resultaat in uw code, uw API-aanvraag of uw browser.
Tips
- Codeer waarden, geen volledige URL's — als u een hele URL codeert, worden de schuine strepen en dubbele punten die de URL structureren ook gecodeerd, wat deze breekt. Codeer alleen waarden binnen queryparameters.
- Dubbele codering — een al gecodeerde string coderen produceert dingen als
%2520(de%wordt%25). Als uw URL er verkeerd uitziet, controleer of iets twee keer is gecodeerd. - Decoder om te debuggen — wanneer een API-aanvraag faalt of een URL onleesbaar lijkt, decoder deze om de werkelijke waarden te zien. Dit onthult vaak het probleem onmiddellijk.
- Gebruik de ingebouwde functies van uw taal — in productie-code, gebruik altijd
encodeURIComponent()(JavaScript),urllib.parse.quote()(Python) ofURLEncoder.encode()(Java) in plaats van handmatig te coderen.
Veelgestelde vragen
Wat is het verschil tussen encodeURI en encodeURIComponent?
encodeURI behoudt geldige tekens in een URL-structuur (schuine strepen, dubbele punten, vraagtekens). encodeURIComponent codeert alles behalve letters, cijfers en enkele veilige tekens. Gebruik encodeURIComponent voor queryparameter-waarden, encodeURI voor volledige URL's.
Waarom worden spaties %20 of +?
In URL-codering worden spaties %20. In formuliergegevens (application/x-www-form-urlencoded) worden spaties +. Beide zijn geldig in hun contexten, maar %20 is de universele standaard voor URL's.
Moet ik mijn URL's handmatig coderen?
In de meeste gevallen zorgt uw taal of framework automatisch voor de codering. Handmatige codering is nuttig wanneer u URL's met de hand opbouwt, API-aanvragen debugt of werkt met querystrings die speciale tekens bevatten.
Worden mijn gegevens naar een server verzonden?
Nee. Alle codering en decodering vindt plaats in uw browser.