為啥會(huì)有瀏覽器編碼這一說(shuō)法?
一般來(lái)說(shuō),URL只能使用英文字母僵蛛、阿拉伯?dāng)?shù)字和某些標(biāo)點(diǎn)符號(hào),不能使用其他文字和符號(hào),這樣當(dāng)url中出現(xiàn)漢字或某些特殊符號(hào)時(shí),就需要對(duì)url進(jìn)行編碼
escape(),encodeURI(),encodeURIComponent()三個(gè)函數(shù):
escape()不能直接用于URL編碼,它的真正作用是返回一個(gè)字符的Unicode編碼值檐蚜。比如"春節(jié)"的返回結(jié)果是%u6625%u8282,沿侈,escape()不對(duì)"+"編碼 主要用于漢字編碼闯第,現(xiàn)在已經(jīng)不提倡使用。
encodeURI()是Javascript中真正用來(lái)對(duì)URL編碼的函數(shù)缀拭。 編碼整個(gè)url地址咳短,但對(duì)特殊含義的符號(hào)"; / ? : @ & = + $ , #",也不進(jìn)行編碼蛛淋。對(duì)應(yīng)的解碼函數(shù)是:decodeURI()咙好。
encodeURIComponent() 能編碼"; / ? : @ & = + $ , #"這些特殊字符。對(duì)應(yīng)的解碼函數(shù)是decodeURIComponent()铣鹏。
假如要傳遞帶&符號(hào)的網(wǎng)址敷扫,所以用encodeURIComponent()