Vain 0-9[a-z] $ - _ . + ! * ' ( ), ja tietyt varatut sanat voidaan käyttää suoraan URL-osoitteissa ilman koodausta.
Esimerkiksi, jos haet kiinalaista avainsanaa, kopioi URL ja liitä se nähdäksesi, että URL on transkoodattu.
1. Pako ja pako pois
Periaate: Jaa ASCII-kirjaimet, numerot, välimerkit @ * _ + - . /
Koodi: escape('http://www.baidu.com?name=zhang@xiao@jie&order=1')
Tulos: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"
pako ('Zhang')
Tulos: "%u5F20"
decoded: unescape("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")
Tulos: "http://www.baidu.com?name=zhang@xiao@jie&order=1"
unescape("%u5F20")
Tulos: "Zhang"
2. encodeURI ja decodeURI
Periaate: Palauttaa merkkijonon, joka on koodattu kelvolliseksi Uniform Resource Identifieriksi (URI), merkki, jota ei ole koodattu:! @ # $ & * ( ) = : / ; ? + '
encodeURI() on Javascriptin funktio, jota käytetään URL-osoitteiden koodaamiseen.
Koodaus: encodeURI('http://www.baidu.com?name=zhang@xiao@jie&order=1')
Tulos: "http://www.baidu.com?name=zhang@xiao@jie&order=1"
decoding: decodeURI("http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1")
Tulos: "http%3A//www.baidu.com%3Fname%3Dzhang@xiao@jie%26order%3D1"
3. encodeURIComponent ja decodeURIComponent
Periaate: Koodaa URL-osoitteen osat yksitellen, älä koko URL-osoitetta
Koodaus: encodeURIComponent('http://www.baidu.com?name=zhang@xiao@jie&order=1') Tulos: "http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1"
decoding: decodeURIComponent("http%3A%2F%2Fwww.baidu.com%3Fname%3Dzhang%40xiao%40jie%26order%3D1")
"http://www.baidu.com?name=zhang@xiao@jie&order=1" |