Funktion och användning av URL-kodning och avkodning
URL-kodning, även kallat procentkodning, är en metod för att omvandla tecken i en webbadress så att de kan överföras säkert över internet. En URL kan endast innehålla en begränsad uppsättning tecken från ASCII-teckensnittet. Tecken utanför denna uppsättning, eller tecken som har en speciell innebörd i en URL (som mellanslag, ampersand eller likhetstecken), måste omvandlas till ett format som består av ett procenttecken följt av två hexadecimala tecken.
När du använder detta verktyg för att koda eller avkoda URL-text sker bearbetningen direkt i din webbläsare. Ingenting laddas upp till BroBroGo. Detta innebär att din URL- och HTML-text konverteras lokalt på din egen enhet.
Verktyget har en gräns för inmatning på maximalt 2 000 000 tecken. Om du klistrar in text som överskrider denna gräns visas felmeddelandet: "Inmatningen är för lång för detta verktyg. Håll den under {max} tecken.". Om du försöker köra en konvertering utan att ha skrivit något visas meddelandet "Klistra in lite text först.". Om en konvertering tar för lång tid visas meddelandet "Denna konvertering tar för lång tid. Försök med en mindre inmatning.". Vid andra oförutsedda fel visas meddelandet "Kunde inte konvertera denna inmatning.".
Skillnaden mellan URL-komponent och hel URL
När du kodar eller avkodar en URL måste du välja rätt omfång för att inte förstöra webbadressens struktur. Verktyget erbjuder två alternativ under URL-omfång:
- Komponent: Detta alternativ använder JavaScript-funktionen
encodeURIComponentför kodning ochdecodeURIComponentför avkodning. Det är avsett för enskilda parametervärden, delar av sökvägar eller formulärvärden. Om du kodar en hel URL med detta alternativ kommer även tecken som:,/och?att kodas, vilket gör att adressen inte längre fungerar som en klickbar länk. - Hel URL: Detta alternativ använder funktionerna
encodeURIochdecodeURI. Det används när du vill behålla tecken som:,/,?,&och=läsbara och funktionella i en fullständig URL, samtidigt som andra tecken (som mellanslag eller kinesiska tecken) kodas korrekt.
När du väljer verktyget för HTML-entiteter döljs kontrollen för URL-omfång automatiskt, eftersom detta val endast är relevant för URL-behandling.
Procentkodningar och UTF-8-sekvenser
Vid avkodning av URL-adresser måste alla procentkodade sekvenser motsvara giltiga och fullständiga UTF-8-sekvenser. UTF-8 använder allt från en till fyra byte för att representera olika tecken. Om en procentkodning är ofullständig eller trasig kan avkodaren inte tolka tecknet.
Om du exempelvis försöker avkoda en trasig sekvens som %E0%A4%A kommer verktyget inte att kunna genomföra konverteringen. I dessa fall avbryts processen och felmeddelandet "Denna URL-text har en felaktig procentkodning." visas.
HTML-entiteter: Escaping och unescaping
HTML-entiteter används för att representera tecken som annars skulle kunna tolkas som HTML-kod av webbläsaren, eller tecken som inte kan garanteras visas korrekt i alla dokumentkodningar.
När du väljer att koda (escape) HTML-entiteter omvandlas tecken som <, >, &, citattecken samt icke-ASCII-tecken till sina motsvarande entiteter. Detta gör att texten säkert kan klistras in i HTML-kod eller i HTML-attribut utan att webbläsaren tolkar tecknen som faktiska HTML-taggar eller kodstrukturer.
Det är viktigt att skilja på kodning/escaping och säkerhetssanering (sanitization). Att omvandla tecken till HTML-entiteter förhindrar att tecken tolkas som kod i ett specifikt sammanhang, men det ersätter inte en fullständig säkerhetssanering av indata som skyddar mot skadlig kod och sårbarheter i applikationer.
Praktiska exempel på konvertering
Här följer exempel på hur inmatning och resultat ser ut för de olika funktionerna i verktyget:
| Funktion | Exempel på inmatning | Exempel på resultat |
|---|---|---|
| URL-kodning (Komponent) | hello world & city=上海 |
hello%20world%20%26%20city%3D%E4%B8%8A%E6%B5%B7 |
| URL-avkodning | hello%20world%20%26%20city%3D%E4%B8%8A%E6%B5%B7 |
hello world & city=上海 |
| HTML-kodning (Escape) | 保存 |
保存 |
| HTML-avkodning (Unescape) | <button title="Save & close">保存</button> |
<button title="Save & close">保存</button> |
När du använder verktyget kan du klicka på "Exempel" för att ladda in testdata, varpå meddelandet "Exempel inläst." visas. Du kan också använda "Använd resultat" för att flytta texten från resultatrutan tillbaka till inmatningsrutan, vilket bekräftas med meddelandet "Resultatet flyttades till inmatningsfältet.". Om du vill rensa både inmatning och resultat klickar du på "Rensa", vilket visar meddelandet "Inmatning och resultat har rensats.".
Vanliga frågor
Ska jag välja URL-komponent eller hel URL?
Använd "Komponent" för parametervärden, delar av sökvägar eller formulärvärden. Använd "Hel URL" när du vill behålla tecken som :, /, ?, & och = läsbara.
Vad förändras vid kodning av HTML-entiteter?
Det omvandlar tecken som <, >, &, citattecken och icke-ASCII-text till entiteter som säkert kan klistras in i HTML-text eller attribut.
Varför misslyckas URL-avkodning ibland?
Procentkodningar måste vara fullständiga UTF-8-sekvenser. En trasig sekvens som %E0%A4%A kan inte avkodas utan gissningar.
Skickas min data till någon server för bearbetning?
Nej, din URL- och HTML-text konverteras direkt i din webbläsare. Ingenting laddas upp till BroBroGo.