區別分析結論
資料傳遞常需要編碼後傳遞,接收還需反編譯,定義url:
var url = "'cs逍遙劍仙'&password='
19931128
'";
console.log(escape(url));// 編碼
console.log(unescape(escape(url)));// 解碼
結果
%27
console.log(encodeuricomponent(url));// 編碼
console.log(decodeuricomponent(encodeuricomponent(url)));// 解碼
結果
%91%e4%bb%99'%26password%3d'19931128'
console.log(encodeuri(url));// 編碼
console.log(decodeuri(encodeuri(url)));// 解碼
結果
'cs%e9%
80%8d%e9%81%a5%e5%
89%91%e4%bb%
99'&password='19931128'
三種方法都不會對 ascii 字母、數字和規定的特殊 ascii 標點符號進行編碼,其餘都替換為十六進製制轉義序列
【escape & unescape】
escape不編碼字元有69個:*,+,-,.,/,@,_,0-9,a-z,a-z
對字串全部進行轉義編碼,ecmascript v3 反對使用該方法,對url編碼勿使用此方法
【encodeuricomponent & decodeuricomponent】
encodeuricomponent不編碼字元有71個:!, ',(,),*,-,.,_,~,0-9,a-z,a-z
傳遞引數時需使用encodeuricomponent,組合的url才不會被#等特殊字元截斷
【encodeuri & decodeuri】
encodeuri不編碼字元有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,a-z
進行url跳轉時可以整體使用encodeuri,如果uri中含分隔符如 ? 和 #,應使用encodeuricomponent
推薦使用encodeuricomponent
JS 三種URI編碼 解碼方式比較
資料傳遞常需要編碼後傳遞,接收還需反編譯,定義url var url cs逍遙劍仙 password 19931128 console.log escape url 編碼 console.log unescape escape url 解碼結果 27console.log encodeuricomp...
iOS中三種定位方式
每個手機基站都有乙個識別符號,iphone或3g ipad可以蒐集周圍所有收到訊號的基站和它們的識別符號,通過聯網傳送到蘋果雲端伺服器,再由伺服器根據這些基站的的位置資訊查詢並計算出當前位置,然後返回給手機。因為基站訊號輻射範圍大,所以誤差也大,在500公尺 幾公里.定位速度最快,耗電最少,誤差幾百...
js中三種物件意義
js中,可以將物件分為 內部物件 宿主物件 和 自定義物件 三種。內部物件 js中的內部物件包括array boolean date function global math number object regexp string以及各種錯誤類物件,包括error evalerror rangeer...