url的三個(gè)js編碼函數(shù)之間的區(qū)別

為啥會(huì)有瀏覽器編碼這一說法?

一般來說,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中真正用來對(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()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容