Så här använder du det
- Välj Koda eller Avkoda.
- Välj Komponent för ett enskilt värde (till exempel en frågeparameter) eller Fullständig URL för en hel adress.
- Skriv eller klistra in din text. Resultatet visas direkt till höger (eller nedanför på mobiler).
- Kopiera resultatet eller använd ”Använd utdata som indata” för att vända på åtgärden och kontrollera tur och retur.
Så fungerar det
URL:er får bara innehålla en begränsad uppsättning ASCII-tecken. Allt annat, inklusive mellanslag, bokstäver med accenter och emoji, skrivs med procentkodning: tecknet konverteras till UTF-8-byten och varje byte blir % följt av två hexadecimala siffror. Ett mellanslag blir %20, é blir %C3%A9 och € blir %E2%82%AC.
Komponentläget använder JavaScripts encodeURIComponent och decodeURIComponent. Det kodar varje tecken som har en speciell betydelse i en URL, inklusive / ? # & = + : och @, så resultatet kan tryggt placeras i ett frågesträngsvärde eller ett enskilt sökvägssegment. Det lämnar bara A–Z, a–z, 0–9 och - _ . ! ~ * ' ( ) oförändrade.
Full URL-läget använder encodeURI och decodeURI. Det antar att indata redan är en fullständig URL och lämnar de reserverade tecknen ; , / ? : @ & = + $ # orörda, så adressen fortsätter att fungera. Vid avkodning lämnar decodeURI också kodningar av dessa reserverade tecken orörda: %2F förblir %2F, eftersom att omvandla det till / skulle ändra URL:ens betydelse.
Alternativet för formulärdata följer application/x-www-form-urlencoded, det format webbläsare använder när de skickar HTML-formulär: ett mellanslag skrivs som + i stället för %20. När du avkodar med det här alternativet blir varje + ett mellanslag; ett äkta plustecken måste då skrivas som %2B.
Ogiltig indata kastas aldrig bort. Om ett % inte följs av två hexadecimala siffror, eller om en sekvens av procentkodningar inte bildar giltig UTF-8, visar verktyget var problemet finns och behåller din text så att du kan åtgärda det.
Exempel
Lägga in ett värde i en frågesträng
Om du vill söka efter ”Rock & Roll” på https://example.com/search?q=…, kodar du bara värdet i Komponentläget: Rock%20%26%20Roll. Utan kodning skulle & avsluta parametern q och starta en ny som heter ” Roll”.
Fixa en URL med mellanslag och accenter
I Full URL-läget blir https://example.com/menu/crème brûlée.html https://example.com/menu/cr%C3%A8me%20br%C3%BBl%C3%A9e.html. Snedstreck och kolon behålls som de är, så länken fortsätter att fungera.
Läsa loggade formulärdata
En serverlogg visar name=Jane+Doe&city=S%C3%A3o+Paulo. Avkoda den i Komponentläget med ”Behandla + som mellanslag” aktiverat för att läsa name=Jane Doe&city=São Paulo.
Vanliga frågor
Vad är skillnaden mellan encodeURI och encodeURIComponent?
encodeURIComponent kodar de tecken som avgränsar URL-delar (/ ? # & = + : @ med flera), så den är avsedd för en enskild del av en URL. encodeURI behåller dessa tecken, så den är avsedd för en fullständig URL. Att använda encodeURI på ett frågesträngsvärde är ett vanligt fel: ett & eller = inuti värdet skulle inte kodas och skulle förstöra frågesträngen.
Ska ett mellanslag vara %20 eller +?
I sökvägen i en URL är ett mellanslag alltid %20. I en frågesträng kan båda förekomma: %20 är giltigt överallt, medan + betyder mellanslag endast i formulärkodade data (application/x-www-form-urlencoded), vilket är hur HTML-formulär och många serverramverk läser frågesträngar. Om du är osäker, använd %20.
Varför får jag ett felmeddelande när jag avkodar?
Avkodningen misslyckas när ett %-tecken inte följs av två hexadecimala siffror (till exempel ”50% off”), eller när de escaped byten inte är giltig UTF-8, vilket oftast betyder att texten kodades med en äldre teckenuppsättning som Latin-1 (é som %E9 i stället för %C3%A9). Felmeddelandet visar var problemet finns.
Varför blev inte %2F ett snedstreck i läget Fullständig URL?
decodeURI behåller medvetet escapade versioner av reserverade tecken som / ? # & och =, eftersom avkodning av dem skulle kunna ändra hur URL:en delas upp i delar. Använd läget Komponent för att avkoda varje escape.
Vilka tecken kodas aldrig?
Båda lägena lämnar A–Z, a–z, 0–9 och - _ . ! ~ * ' ( ) oförändrade. Läget Fullständig URL lämnar dessutom ; , / ? : @ & = + $ och # oförändrade.
Integritet
Kodning och avkodning sker helt i din webbläsare med de inbyggda JavaScript-funktionerna. Din text och dina URL:er laddas inte upp, lagras inte och ingår inte i någon analys.