BlogJava 聯系 聚合 管理  

          Blog Stats

          文章分類

          收藏夾

          隨筆檔案

          文章檔案

          Java相關技術


          kait

          javasript的三種編碼方法

          escape() 方法:
          採用ISO Latin字符集對指定的字符串進行編碼。所有的空格符、標點符號、特殊字符以及其他非ASCII字符都將被轉化成%xx格式的字符編碼(xx等於該字符 在字符集表裡面的編碼的16進制數字)。比如,空格符對應的編碼是% 20。不會被此方法編碼的字符: @ * / +

          encodeURI() 方法:
          把URI字符串採用UTF-8編碼格式轉化成escape格式的字符串。不會被此方法編碼的字符:! @ # $& * ( ) = : / ; ? + '

          encodeURIComponent() 方法:

          把URI 字符串採用UTF-8編碼格式轉化成escape格式的字符串。與encodeURI()相比,這個方法將對更多的字符進行編碼,比如 / 等字符。所以如果字符串裡面包含了URI的幾個部分的話,不能用這個方法來進行編碼,否則 / 字符被編碼之後URL將顯示錯誤。不會被此方法編碼的字符:! *  ( ) '

          因此,對於中文字符串來說,如果不希望把字符串編碼格式轉化成UTF-8格式的(比如原頁面和目標頁面的charset是一致的時候),只需要使用 escape。如果你的頁面是GB2312或者其他的編碼,而接受參數的頁面是UTF-8編碼的,就要採用encodeURI或者 encodeURIComponent。

          另外,encodeURI/encodeURIComponent是在javascript1.5之後引進的,escape則在javascript1.0版本就有。
          posted on 2008-01-14 15:33 小天 閱讀(2444) 評論(1)  編輯  收藏

          評論

          # re: JavaScript的三種編碼方法 2008-01-16 10:02 jeasonzhao
          補充一點
          如果您的服務器使用JSP Container,encode的方法編碼的東東將不會被JSP識別
          例如
          <script>
          window.loaction='a.jsp?AParam='+encode('AAAA');
          </script>
          服務端使用
          request.getParameter("AParam")返回為NULL  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 且末县| 舒城县| 综艺| 汉阴县| 钦州市| 建宁县| 泸州市| 土默特右旗| 鄄城县| 济南市| 尉犁县| 芮城县| 海安县| 黎平县| 新宾| 呼和浩特市| 花垣县| 松江区| 平阳县| 苍梧县| 安龙县| 理塘县| 宜城市| 个旧市| 尉氏县| 芜湖县| 昌图县| 大名县| 册亨县| 金乡县| 井陉县| 瑞丽市| 黄山市| 云浮市| 拜泉县| 武宣县| 林西县| 阜南县| 怀化市| 林芝县| 永登县|