onlinetools.dev

URL coderen / decoderen

Percent-codeer of decodeer URL-onderdelen en querystrings

Draait lokaal
loading…
Over deze tool

Tekens als spaties, ampersands en niet-ASCII-letters kunnen niet onbewerkt in een URL staan, dus worden ze percent-gecodeerd: een spatie wordt %20, 你 wordt %E4%BD%A0. Deze tool codeert tekst voor veilig gebruik in URL’s en decodeert percent-geëscapete strings terug naar leesbare tekst, inclusief de +-conventie voor spaties in querystrings.

Er zijn twee coderingsmodi omdat JavaScript er zelf ook twee heeft: componentmodus (encodeURIComponent) escapet alles wat een URL zou kunnen opdelen, wat je wilt voor één enkele querystringwaarde; volledige-URI-modus (encodeURI) behoudt structurele tekens als /, ? en &, voor wanneer je een hele URL codeert die navigeerbaar moet blijven.

Het decoderen is streng over misvormde %-reeksen — een losse % of %ZZ wordt als fout gemeld in plaats van stilzwijgend doorgelaten, precies zoals browsers en servers het ook behandelen.

Veelgestelde vragen

Wanneer gebruik ik componentmodus en wanneer volledige-URI-modus?
Codeer je een waarde die ín een URL komt (een zoekterm, een redirect-doel, een e-mailadres in een parameter) → componentmodus, zodat & en = binnen de waarde de querystring niet breken. Codeer je een complete URL om te tonen of te versturen → volledige-URI-modus, zodat de structuur van de URL intact blijft.
Waarom betekent + soms een spatie?
Het formaat application/x-www-form-urlencoded — gebruikt door HTML-formulieren en querystrings — codeert spaties historisch als +. In URL-paden is + gewoon een plus. De decoder hier behandelt + als spatie, conform querystring-semantiek; %20 werkt altijd en overal.
Waarom is mijn string dubbel gecodeerd (%2520)?
%25 is de codering van % zelf, dus %2520 betekent dat de tekst %20 een tweede keer is gecodeerd. Dat gebeurt wanneer twee lagen van een systeem allebei coderen. Decodeer hier twee keer om het uit te pakken en repareer daarna de laag die niet zou moeten coderen.
Worden Unicode-tekens correct behandeld?
Ja — tekst wordt eerst als UTF-8 gecodeerd en daarna wordt elke byte percent-geëscaped, volgens de WHATWG URL-standaard. Daarom wordt één CJK-teken drie %XX-groepen.
Gerelateerde tools