zoukankan      html  css  js  c++  java
  • escape encodeURI encodeURIComponent区别

    escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。使用unescape来解码。

      

    有效的URI(统一资源标示符)是不能包含某些字符的,如空格,所以需要进行编码,编码方法有:encodeURI()和encodeURIComponent(),

        对编的码进行解码方法有:decodeURI()和decodeURIComponent()。

        encodeURI()编的码只能decodeURI()解

        encodeURIComponent()编的码只能decodeURIComponent()解,

        encodeURI():用于编码完整的URI,它不对URI中的特殊字符进行编码:例如冒号、前斜杠、问号、英镑符号     

    
    
     var str0=encodeURI("http://www.cnblogs.com/ 2012/ 71.html");
         结果:http://www.cnblogs.com/%202012/%2071.html
          只对空格进行了编码

        encodeURIComponent():用于编码URI的某一部分,它对URI中的所有非标准字符进行编码

    var str1=encodeURIComponent("http://www.cnblogs.com/ 2012/ 71.html");
        结果:http%3A%2F%2Fwww.cnblogs.com%2F%202012%2F%2071.html
         对所有非标准字符进行编码

    通过对三个函数的分析,我们可以知道:escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参 数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。

  • 相关阅读:
    UVA 133 The Dole Queue
    HDOJ(HDU) 2103 Family planning(需要注意范围)
    HDOJ(HDU) 2097 Sky数(进制)
    HDOJ(HDU) 2093 考试排名(Arrays.sort排序、类的应用)
    HDOJ(HDU) 2091 空心三角形
    HDOJ(HDU) 2090 算菜价(简单水题、)
    HDOJ(HDU) 2088 Box of Bricks(平均值)
    HDOJ(HDU) 2083 简易版之最短距离(中位数)
    Java---常用基础面试知识点
    Java---练习(面试题) :字符串截取(2-最终版)
  • 原文地址:https://www.cnblogs.com/linux-centos/p/5806627.html
Copyright © 2011-2022 走看看