URL-kodare och avkodare

Procentkoda text för URL:er och query strings, avkoda kodade URL:er och dela upp valfri URL i dess delar med avkodade query-parametrar.

Körs i din webbläsareIngen registreringInget laddas upp

Kodat

Så använder du URL Encode / Decode

  1. Välj Koda eller Avkoda.
  2. Vid kodning väljer du Komponent för ett enskilt query-värde eller sökvägssegment, Hel URL för att behålla URL-strukturen eller Formulärdata för application/x-www-form-urlencoded.
  3. Klistra in din text. Resultatet visas direkt; felaktiga escape-sekvenser rapporteras med sin position.
  4. Klistra in en komplett URL i URL-tolken för att se värd, sökväg, fragment och alla query-parametrar avkodade.

Vad är URL-kodning?

URL:er får bara innehålla en begränsad uppsättning ASCII-tecken (RFC 3986). Allt annat, inklusive mellanslag, bokstäver som å, ä och ö samt tecken med särskild betydelse som &, ? och #, skrivs som ett procenttecken följt av två hexsiffror för varje UTF-8-byte. Ett mellanslag blir %20 och é blir %C3%A9.

encodeURIComponent eller encodeURI

FunktionLämnar orörtAnvänds för
encodeURIComponentA-Z a-z 0-9 - _ . ~Ett enskilt query-värde, sökvägssegment eller parameternamn
encodeURIÄven : / ? # [ ] @ ! $ & ' ( ) * + , ; =En hel URL vars struktur måste bevaras

Att använda encodeURI på ett query-värde är en klassisk bugg: ett & i värdet kodas inte, så parametern delas i två. Verktygets komponentläge kodar även ! ' ( ) * för strikt överensstämmelse med RFC 3986.

%20 eller + för mellanslag?

I sökvägar måste ett mellanslag vara %20. I HTML-formulär (application/x-www-form-urlencoded) och många query strings skrivs ett mellanslag som +. Vid avkodning aktiverar du Tolka + som mellanslag för formulärdata och stänger av det när ett bokstavligt plustecken spelar roll, som i jane+test@example.com.

Vanliga frågor

Varför får jag ”Malformed escape” vid avkodning?
Ett % måste följas av exakt två hexsiffror. Ett bokstavligt procenttecken, som i ”50% rabatt”, borde ha kodats som %25. Felet visar positionen för den felaktiga sekvensen.
Vad betyder ”Invalid UTF-8 byte sequence”?
Byten var inte kodade som UTF-8, ofta för att texten skapats av ett äldre system som använder Latin-1 (till exempel %E9 för é i stället för %C3%A9), eller för att strängen klippts av mitt i ett tecken.
Ska jag koda hela URL:en eller bara parametrarna?
Koda varje parameternamn och värde separat med komponentkodning och sätt sedan ihop dem med = och &. Om du kodar en hel URL i komponentläge kodas även :// och URL:en går sönder.
Är dubbelkodning ett problem?
Ja. Om du kodar en redan kodad sträng blir %20 till %2520. Ser du %25 följt av hexsiffror har värdet troligen kodats två gånger. Avkoda det två gånger för att få tillbaka originalet.

Relaterade verktyg