Vad ÄR URL-kodning? En Komplett Förklaring av Percent-kodning
Snabbt svar
URL-kodning (percent-kodning) ersätter unsafe tecken i en URL med % följt av två hex-siffror. Till exempel blir mellanslag %20, & blir %26. Det säkerställer att URL:er kan överföras utan tvetydighet. Använd vår gratis URL Encoder och Decoder.
Introduktion
URL-kodning, även kallad percent-kodning, är en mekanism för att koda specialtecken i en URL så att de kan överföras säkert via internet. URL:er kan bara innehålla en begränsad uppsättning ASCII-tecken —bokstäver, siffror och några reserved tecken. Varje annat tecken (mellanslag, citationstecken, icke-ASCII-bokstäver) måste kodas som ett procenttecken (%) följt av två hexadecimala siffror. URL-kodning är definierad av RFC 3986.
Steg för steg
-
Förstå vilka tecken som behöver kodas
Oreserverade tecken (A-Z, a-z, 0-9, -, _, ., ~) behöver inte kodas. Reserverade tecken (:, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =) har speciell betydelse i URLs och bör kodas när de används som data. Alla andra tecken (mellanslag, citattecken, icke-ASCII) måste kodas.
-
Lär dig kodningsmekanismen
Varje tecken som behöver kodas omvandlas till sin UTF-8-bytesekvens, sedan representeras varje byte som %XX där XX är hex-värdet. Mellanslag (0x20) → %20. Icke-ASCII-tecknet 'é' (UTF-8: 0xC3 0xA9) → %C3%A9.
-
Skilj encodeURI vs encodeURIConponent
encodeURI() kodar en fullständig URL men bevarar reserverade tecken (:/?&=) som är en del av strukturen URL. encodeURIComponent() kodar allt utom oreserverade tecken — använd den för frågeparametervärden där reserverade tecken är data, inte struktur.
-
Avkoda procentkodad URLs
Avkodning vänder kodningen: %20 → mellanslag, %C3%A9 → é. Använd decodeURI() för fullständig URLs och decodeURIComponent() för frågeparametervärden. Ogiltiga escape-sekvenser (som %ZZ) ger fel.
Exempel
Koda ett mellanslag
Input: hello world
Produktion: hello%20world
Koda icke-ASCII-text
Input: café
Produktion: caf%C3%A9
Koda ett frågeparametervärde
Input: name=John Doe & Co.
Produktion: name%3DJohn%20Doe%20%26%20Co.
Vanliga problem
- Koda hela URL när endast värden behöver koda — koda frågeparametervärden, inte strukturen URL (://?&=).
- Dubbelkodning — om en URL redan är kodad, producerar kodning återigen %2520 istället för %20. Avkoda först om du är osäker på om den redan är kodad.
- Använder encodeURI vs encodeURIConponent felaktigt —encodeURI bevarar URL strukturtecken; encodeURIConponent kodar dem. Använd den senare för frågeparametervärden.
- Ogiltiga escape-sekvenser —%ZZ eller en enstaka % i slutet är ogiltiga och ger fel när de avkodas.
Tips
- Koda alltid frågeparametervärden som kan innehålla mellanslag, specialtecken eller användarinmatning för att förhindra URL-injektion.
- Använd encodeURIComponent() för frågeparametervärden och encodeURI() för hela URLs som bara behöver kodade osäkra tecken.
- URL kodning är inte kryptering — vem som helst kan avkoda den. Använd den aldrig för att dölja känslig data.
- Använd vår URL Encoder och Decoder för omedelbar, privat konvertering i din webbläsare.