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。

  • 相关阅读:
    学习制作操作系统 0
    阅读《C陷阱与缺陷》的知识增量
    CSS 优先级和特指度
    openCV2马拉松第19圈——Harris角点检測(自己实现)
    Cacti监控mysql数据库server实现过程
    ledisdb:支持类redis接口的嵌入式nosql
    03005_SQL查询语句
    通过smtp直接发送邮件
    XML 解析默认去掉命名空间和注释
    C# /VB.NET 创建PDF项目符号列表和多级编号列表
  • 原文地址:https://www.cnblogs.com/linux-centos/p/5806627.html
Copyright © 2011-2022 走看看