Så URL-kodar du en sträng
Procentkodning ersätter varje tecken som inte är säkert i en URL med % följt av det hexadecimala värdet för varje UTF-8-byte i tecknet. Läget Komponent, som använder encodeURIComponent(), passar för ett enskilt frågevärde eller sökvägssegment.
Genomräknat exempel
| Tecken | UTF-8-byte | Komponent |
|---|---|---|
| ␠ | %20 | %20 |
| & | %26 | %26 |
| = | %3D | %3D |
| / | %2F | %2F |
| ? | %3F | %3F |
| é | %C3 %A9 | %C3%A9 |
| 😀 | %F0 %9F %98 %80 | %F0%9F%98%80 |
Läget Komponent kodar hela frasen till ett enda säkert värde.
- Indata
- rock & roll/size=XL? café 😀
- Resultat ·
encodeURIComponent() - rock%20%26%20roll%2Fsize%3DXL%3F%20caf%C3%A9%20%F0%9F%98%80
Läget Fullständig URL lämnar & = / ? orörda, så använd det bara för en hel URL.
- Indata
- rock & roll/size=XL? café 😀
- Resultat ·
encodeURI() - rock%20&%20roll/size=XL?%20caf%C3%A9%20%F0%9F%98%80
Så hanterar verktyget det
- Bokstäverna A–Z och a–z, siffrorna 0–9 samt - _ . ! ~ * ' ( ) ändras aldrig.
- Alla andra tecken omvandlas till UTF-8-byte, och varje byte skrivs som % plus två hexadecimala siffror med versaler: é är två byte, de flesta emoji fyra.
- Läget Komponent kodar även de reserverade tecknen : / ? # [ ] @ & = + $ , ; så att de inte kan ändra URL:ens struktur.