posts - 0, comments - 77, trackbacks - 0, articles - 356
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          escape,encodeURI,encodeURIComponent 比較

          Posted on 2008-04-11 11:40 semovy 閱讀(318) 評論(0)  編輯  收藏 所屬分類: JavaScript

          js對文字進行編碼涉及3個函數:escape,encodeURI,encodeURIComponent,

          相應3個解碼函數:unescape,decodeURI,decodeURIComponent

          1、   傳遞參數時需要使用encodeURIComponent,這樣組合的url才不會被#等特殊字符截斷。                            

          例如:<script language="javascript">document.write('<a );</script>

          2、   進行url跳轉時可以整體使用encodeURI

          例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");

          3、   js使用數據時可以使用escape

          [Huoho.Com編輯]

          例如:搜藏中history紀錄。

          4、   escape對0-255以外的unicode值進行編碼時輸出%u****格式,其它情況下escape,encodeURI,encodeURIComponent編碼結果相同。


          最多使用的應為encodeURIComponent,它是將中文、韓文等特殊字符轉換成utf-8格式的url編碼,所以如果給后臺傳遞參數需要使用encodeURIComponent時需要后臺解碼對utf-8支持(form中的編碼方式和當前頁面編碼方式相同)

          escape不編碼字符有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z

          encodeURI不編碼字符有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

          encodeURIComponent不編碼字符有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

          主站蜘蛛池模板: 临西县| 沿河| 保靖县| 崇仁县| 三门峡市| 五寨县| 连城县| 华阴市| 宿州市| 滨州市| 玉溪市| 湘乡市| 金阳县| 科尔| 昌江| 堆龙德庆县| 万全县| 淮北市| 阳新县| 仙桃市| 富锦市| 鄂托克旗| 游戏| 广宁县| 石楼县| 西昌市| 措勤县| 都江堰市| 穆棱市| 婺源县| 贵阳市| 交口县| 鱼台县| 西藏| 洛宁县| 乐都县| 体育| 龙门县| 浦县| 荆州市| 寿宁县|