Een URL-gecodeerde tekenreeks decoderen
Decoderen draait procentcodering om: elke %XX-reeks wordt een byte en de bytes worden als UTF-8-tekst gelezen. De modus Component gebruikt decodeURIComponent(), dus het resultaat is precies de oorspronkelijke waarde.
Uitgewerkt voorbeeld
UTF-8-reeksen van meerdere bytes worden één teken.
- Invoer
- caf%C3%A9%20%26%20cr%C3%A8me
- Resultaat ·
decodeURIComponent() - café & crème
%20 wordt een spatie, maar + blijft een letterlijk plusteken.
- Invoer
- a+b%20c
- Resultaat ·
decodeURIComponent() - a+b c
De laatste reeks mist een hexadecimaal cijfer, dus de tool toont een foutmelding.
- Invoer
- %E0%A4%A
- Resultaat ·
decodeURIComponent() - Ongeldige gecodeerde URL
Met het ontbrekende cijfer erbij worden de drie bytes één Devanagari-letter.
- Invoer
- %E0%A4%A4
- Resultaat ·
decodeURIComponent() - त
Zo pakt de tool het aan
- Elke %XX-reeks is één byte en opeenvolgende bytes worden samen als UTF-8 gedecodeerd, zodat %C3%A9 een é wordt.
- Een plusteken wordt niet als spatie gezien: + blijft +. Komt de tekst uit een HTML-formulier, vervang + dan eerst door %20.
- Is een reeks onvolledig of geen geldige UTF-8, dan wordt de hele invoer met een foutmelding geweigerd; er wordt niets half gedecodeerd.
- De modus Volledige URL (decodeURI) laat escapes van gereserveerde tekens zoals %26, %2F en %3F gecodeerd, zodat de structuur van de URL niet verandert.