encodeURI escape encodeURIcomponent 轉碼方式之間的區別


1.escape

 escape() 會將傳入的參數中的 空格 ,標點符號,以及所有所有非ascll 的字符替換爲%xx的編碼形式,其中xx與其所表示的字符的16進制

形式相同

如空格字符的16進製表示形式爲0x20,則此時xx應爲20,即escape(‘ ') 返回“%20”。


2.encodeURI


encodeURI 返回一個經過編碼的url,如果encodeURI 傳入的是經過encodeURI 編碼過的字符串,則會得到原始的未經過編碼的字符串,值得注意的是

encodeURI 不能對 “:”,“,”,“?”,"/"進行編碼,如果需要對這些字符進向編碼,則需要使用encodeURIcomponnent


3.encodeURIConponent()


encodeURIComponent方果將encodeURIComponent方法的編碼結果傳遞給encodeURIComponent方法作參數,則能得到原始的未編碼的字符串。因爲encodeURIComponent方法會編碼所有的字符,所以如果待編碼的字符串是用來表示一個路徑(如/dir1/dir2法返回一個編碼過的URI。如/index.htm)時,就一定要小心使用了。‘/'符號會被其編碼之後,將不再是一個有效的路徑標識符,所以不能被web服務器正確地識別。當字符串包含一個單獨的URI component(指?後面的請求參數)的時候,請使用此方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章