Ga naar de hoofdinhoud

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.

Handleidingen voor URL-codering