Hoppa till huvudinnehåll

Så avkodar du en URL-kodad sträng

Avkodning vänder på procentkodningen: varje %XX-sekvens blir en byte, och byten läses som UTF-8-text. Läget Komponent använder decodeURIComponent(), så resultatet blir exakt det ursprungliga värdet.

Genomräknat exempel

UTF-8-sekvenser på flera byte blir ett enda tecken.

Indata
caf%C3%A9%20%26%20cr%C3%A8me
Resultat · decodeURIComponent()
café & crème

%20 blir ett mellanslag, men + behålls som ett bokstavligt plustecken.

Indata
a+b%20c
Resultat · decodeURIComponent()
a+b c

Den sista sekvensen saknar en hexadecimal siffra, så verktyget visar ett fel.

Indata
%E0%A4%A
Resultat · decodeURIComponent()
Ogiltig kodad URL

När den saknade siffran läggs till avkodas de tre byten till en enda devanagaribokstav.

Indata
%E0%A4%A4
Resultat · decodeURIComponent()
त

Så hanterar verktyget det

  • Varje %XX-sekvens är en byte, och intilliggande byte avkodas tillsammans som UTF-8, så %C3%A9 blir é.
  • Ett plustecken tolkas inte som mellanslag: + förblir +. Kommer texten från ett HTML-formulär ersätter du + med %20 innan du avkodar.
  • Om någon sekvens är ofullständig eller inte är giltig UTF-8 avvisas hela indatan med ett fel; ingenting avkodas till hälften.
  • Läget Fullständig URL (decodeURI) låter escape-sekvenser för reserverade tecken som %26, %2F och %3F förbli kodade, så att URL:ens struktur inte ändras.

Guider för URL-kodning