URL encoder & decoder
Percent-encode tekst voor URL's en querystrings, decodeer gecodeerde URL's en splits elke URL in onderdelen met gedecodeerde queryparameters.
Draait in je browserGeen account nodigNiets wordt geüpload
Onderdelen
Queryparameters
Zo gebruik je de URL coderen / decoderen
- Kies Coderen of Decoderen.
- Kies bij het coderen Component voor één querywaarde of padsegment, Volledige URL om de structuur van de URL te behouden, of Formulierdata voor
application/x-www-form-urlencoded. - Plak je tekst. Het resultaat verschijnt direct; ongeldige escapes worden met hun positie gemeld.
- Plak een volledige URL in de URL-parser om de host, het pad, het fragment en elke gedecodeerde queryparameter te zien.
Wat is URL-encoding?
URL's mogen maar een beperkte set ASCII-tekens bevatten (RFC 3986). Al het andere, waaronder spaties, letters met accenten en tekens met een speciale betekenis zoals &, ? en #, wordt geschreven als een procentteken gevolgd door twee hexcijfers voor elke UTF-8-byte. Een spatie wordt %20 en é wordt %C3%A9.
encodeURIComponent vs. encodeURI
| Functie | Laat ongemoeid | Gebruik voor |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | Eén querywaarde, padsegment of parameternaam |
encodeURI | Ook : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Een hele URL waarvan de structuur intact moet blijven |
encodeURI gebruiken voor een querywaarde is een klassieke bug: een & in de waarde wordt niet ge-escaped en splitst de parameter dus in tweeën. De modus Component van deze tool escapet ook ! ' ( ) *, voor strikte naleving van RFC 3986.
%20 of + voor spaties?
In paden moet een spatie %20 zijn. In HTML-formulieren (application/x-www-form-urlencoded) en veel querystrings wordt een spatie geschreven als +. Zet bij het decoderen + als spatie behandelen aan voor formulierdata, en zet het uit als een letterlijk plusteken belangrijk is, zoals in jane+test@example.com.
Veelgestelde vragen
Waarom krijg ik „Malformed escape” bij het decoderen?
% moeten precies twee hexcijfers volgen. Een letterlijk procentteken, zoals in „50% korting”, had gecodeerd moeten zijn als %25. De fout toont de positie van de foute reeks.Wat betekent „Invalid UTF-8 byte sequence”?
%E9 voor é in plaats van %C3%A9), of omdat de string midden in een teken is afgekapt.Moet ik de hele URL coderen of alleen de parameters?
= en &. Een volledige URL coderen in de modus Component zou ook :// escapen en de URL breken.Is dubbele codering een probleem?
%20 %2520. Zie je %25 gevolgd door hexcijfers, dan is de waarde waarschijnlijk twee keer gecodeerd. Decodeer hem twee keer om het origineel terug te krijgen.