javaGrowing

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            92 隨筆 :: 33 文章 :: 49 評論 :: 0 Trackbacks
          <2013年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(12)

          隨筆分類(84)

          隨筆檔案(92)

          文章分類(32)

          文章檔案(33)

          相冊

          收藏夾(1)

          ajax

          java

          java專家論壇

          linux

          Oracle

          PHP

          sap

          xml

          其他

          好站鏈接

          英語學習

          軟件下載

          電子書

          搜索

          積分與排名

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          javascript中可用的編碼解碼函數,有如下的組合:

          • escape(string);
            unescape(string);
          • encodeURI(string);
            decodeURI(string);
          • encodeURIComponent(string);
            decodeURIComponent(string);

          他們之間的區別為:

          escape/unescape:
          以16進制編碼字符串,對空格、符號等字符用%xx編碼表示,對中文等字符用%uxxxx編碼表示。自javascript1.5之后,此方法已經不被推薦使用。

          encodeURI/decodeURI:
          以UTF-8編碼編碼字符串,對這些字符:“ ; , / ? : @ & = + $ ”不做編碼。

          encodeURIComponent/decodeURIComponent:
          以UTF-8編碼編碼所有字符串。

          因為escape/unescape已經deprecated。就不說它了,encodeURI和encodeURIComponent之前的區別用實例說明:

          比如說要使用get方式將一個參數u,傳遞給服務器:

          var ?u="index.php?blogId=1&op=Default";
          var ?getURL="http://www.simplelife.cn/test.php?p="+encodeURI(u);

          這里,如果使用了encodeURI,那么最終的getURL的值為:
          http://www.simplelife.cn/test.php?p=index.php?blogId=1&op=Default

          這樣,對參數u中的字符"&op=Default",將不會作為字符串參數傳遞到服務器端,而是當作test.php的參數傳遞過去了,因為對"&op=Default"中的字符"&"沒有做編碼。
          所以,在這種應用場景下,就需要使用encodeURIComponent,編碼后的getURL值為:
          http://www.simplelife.cn/test.php?p=index.php%3FblogId%3D1%26op%3DDefault

          這樣,參數就可以順利傳遞過去了。在服務器端得到的字符串將是正確的u。

          反之,如果需要通過get方式訪問某一URL,但是URL中包含中文等字符,為了防止亂碼等編碼問題,需要將URL通過encodeURI進行編碼。
          posted on 2006-11-03 15:49 javaGrowing 閱讀(16174) 評論(3)  編輯  收藏 所屬分類: javascript

          評論

          # re: javascript中的編碼與解碼 2012-11-19 18:22 撒點粉佛擋殺佛
          撒點粉撒點粉撒  回復  更多評論
            

          # re: javascript中的編碼與解碼 2013-05-12 15:57 14
          1111  回復  更多評論
            

          # re: javascript中的編碼與解碼 2013-07-10 16:39 pump
          escape/unescape原來這樣用  回復  更多評論
            

          主站蜘蛛池模板: 行唐县| 都江堰市| 西丰县| 保康县| 淮南市| 汽车| 磴口县| 安顺市| 涿鹿县| 桓台县| 新郑市| 兴业县| 陕西省| 车险| 卢氏县| 贵港市| 炎陵县| 汉源县| 德江县| 秭归县| 沈丘县| 招远市| 奉贤区| 凌海市| 陕西省| 金坛市| 富宁县| 巴林右旗| 什邡市| 台东市| 会东县| 文安县| 新泰市| 嵩明县| 宣武区| 交城县| 翼城县| 广德县| 红安县| 南阳市| 三明市|