URL-kodare / -avkodare
Koda eller avkoda URL:er och frågesträngar.
Vad är URL-kodning?
URL-kodning (också kallat procentkodning) ersätter osäkra tecken i URL:er med ett procenttecken (%) följt av två hexadecimala siffror. URL:er kan bara innehålla en begränsad uppsättning tecken (bokstäver, siffror och några symboler). Mellanslag, icke-ASCII-tecken och reserverade tecken (?, &, =, #) måste kodas: mellanslag blir %20 (eller +), å blir %C3%A5.
URL-kodning definieras i RFC 3986. Det är nödvändigt för: sökparametrar med specialtecken, filnamn med mellanslag, internationella domännamn, formulärdata (application/x-www-form-urlencoded) och API-förfrågningar med JSON-data i URL:en. De flesta programmeringsspråk har inbyggda funktioner: encodeURIComponent() i JavaScript, urllib.parse.quote() i Python, URLEncoder.encode() i Java.
Nar behover du URL-koda?
- Skicka specialtecken i query-strangparametrar (t.ex. ?q=hello%20world).
- Koda formulordata som skickas via HTTP POST med application/x-www-form-urlencoded innehalllstyp.
- Konstruera API-forfragnings-URL:er programmatiskt med anvandartillhandahllen indata.
- Boadda URL:er inuti andra URL:er (t.ex. omdirigeringsparametrar).
- Inkludera Unicode-tecken (accenterade bokstaver, emojis, CJK-tecken) i URL:er.
Koda vs. avkoda
Kodning konverterar vanlig text till en URL-saker strang genom att ersatta osakra tecken med procentkodade motsvarigheter. Avkodning reverserar processen och konverterar procentkodade sekvenser tillbaka till sina ursprungliga tecken. Detta verktyg later dig vaxla mellan kodnings- och avkodningsriktning med ett enda klick.
Hur du använder detta verktyg
Klistra in text för att koda eller koda av den. Verktyget hanterar fullständig URL-kodning inklusive UTF-8-tecken, reserverade tecken och redan kodade sekvenser. Du kan välja mellan att koda hela strängen eller bara specialtecken. Verktyget visar den kodade/avkodade utdatan i realtid och stöder bulk-bearbetning.
Tecken som kodas
Detta verktyg anvander JavaScripts encodeURIComponent()-funktion, som kodar alla tecken utom: A-Z, a-z, 0-9, och de oreserverade tecknen - _ . ~ * ' ( ). Detta ar korrekt kodning for query-parametervarden och formulaerdata. Den snarlikaencodeURI()-funktionen ar mindre aggressiv och bevarar tecken som : / ? # som har betydelse i URL-strukturen.
Vanliga URL-kodningsmisstag
Det vanligaste misstaget ar dubbelkodning -- att koda en strang som redan ar kodad, vilket gor %20 till %2520. Detta bryter URL:er och forvirrar servrar. Kontrollera alltid om din indata redan ar kodad innan du tillaampar kodning. Ett annat fel ar att anvanda encodeURI() nar encodeURIComponent() behovs, vilket lamnar & och = okodade i parametervarden.
Att inte koda anvandarindata innan den infogas i URL:er ar en sakerhetssarbarhet. Okodad anvandarindata kan injicera extra query-parametrar, bryta URL-parsning eller mojliggora injektionsattacker. Koda alltid anvaandartillhandahallen varden nar du bygger URL:er programmatiskt.
Praktiska tips
I webbutveckling hanterar de flesta ramverk URL-kodning automatiskt vid formularinskickning och i HTTP-klientbibliotek. Manuell kodning behovs vanligtvis nar du bygger URL:er dynamiskt i JavaScript, nar du skickar data i URL-fragment, eller nar du felsaoker API-anrop som innehaller specialtecken.
Vanliga frågor
Vad är skillnaden mellan encodeURI och encodeURIComponent?
encodeURI() kodar en hel URL men bevarar reserverade tecken (://?#[]@) som har speciell betydelse i URL-strukturen. encodeURIComponent() kodar allt utom bokstäver, siffror och - _ . ~ — den är avsedd för att koda enskilda parametervärden. Använd encodeURI för hela URL:er och encodeURIComponent för parametervärden: encodeURI('https://example.com/path?q=hello world') kontra 'q=' + encodeURIComponent(userInput).
Varför måste mellanslag kodas?
RFC 3986 definierar teckenuppsättningen som är tillåten i URL:er, och mellanslag ingår inte. Historiskt har mellanslag kodats som + i formulärdata (application/x-www-form-urlencoded) och som %20 i URL-sökvägar. Båda är giltiga men i olika sammanhang. Moderna API:er och webbramverk hanterar detta automatiskt, men det är viktigt att förstå skillnaden vid manuell URL-konstruktion.