URL Kodare/Avkodare Vanliga frågor
Koda och avkoda URL-strängar
Vad är URL-kodning?
URL-kodning (procentkodning) ersätter specialtecken med %XX där XX är det hexadecimala ASCII/UTF-8-värdet. Mellanslag blir %20, & blir %26. Detta möjliggör att specialtecken säkert överförs i URL:er utan att utlösa deras reserverade betydelser.
När ska jag URL-koda?
Koda all användarinmatning som placeras i URL:er: söktermer, namn, beskrivningar eller någon användarkontrollerad sträng. Koda inte saker som :/? i basdelen av en URL - bara värden. Använd encodeURIComponent() i JavaScript för parametervärden.
Vad är skillnaden mellan encodeURI och encodeURIComponent?
encodeURI() lämnar reserverade tecken (:/?&=) okodade, lämplig för hela URL:er. encodeURIComponent() kodar allt utom alfanumeriskt och -_.!~*'(), lämplig för parametervärden. För de flesta användningsfall vill du ha encodeURIComponent för värden.
Varför ser jag + istället för %20 för mellanslag?
Historiskt kodades mellanslag i query strings som + (application/x-www-form-urlencoded). Modern URL-kodning föredrar %20 överallt. Båda fungerar i query strings, men bara %20 fungerar i URL-sökvägar. Vårt verktyg använder %20 för universiell kompatibilitet.
Hur hanterar jag icke-ASCII-tecken?
Icke-ASCII-tecken (ü, 中, و) konverteras först till UTF-8-bytes, sedan procentkodas varje byte. Tecknet ü blir %C3%BC (UTF-8-bytes C3 BC). Modern URL-kodning använder alltid UTF-8 för internationella tecken.
Vad är dubbelkodning?
Dubbelkodning händer när du kodar en redan kodad sträng: %20 blir %2520. Detta bryter URL:er - de visar bokstavligen %20 istället för att tolka det som mellanslag. Avkoda alltid före omkodning om det är oklart om inmatning redan är kodad.