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

    比较js中的escape、encodeURI、encodeURIComponent
    escape:
        escape是会除@*_-+./以外的所有标点符号、空格符、特殊符及非ASC码的所有字符进行编码的函数。编码格式为:%XX,如空格是%20,对于ASC值超过128的会用%uXXXX表示。如汉字“好”编码是%u6FC2%uFFFD
    encodeURI:
        encodeURI不会进行编码的符号是:
        !@#$&*()_+-=;:',./?~
    encodeURIComponent:
        encodeURIComponent不会进行编码的符号是:
        !*()_-'.~
    区别与共同:
       1、从上面比较可知,encodeURIComponent会进行编码的符号比encodeURI多,而且会把/进行编码,所以不能使用encodeURIComponent对url进行编码。其时它的主要用途是对url的参数进行编码。
       2、三个函数编码的符号集不同以外,对于ASC码的编码格式都是一样的。但是对于双字节编码就不同了。比如:“好”的encodeURI和encodeURIComponent的编码是%E6%BF%82%EF%BF%BD。
          原因是escape是采用ISO Latin字符集进行编码的,而其他两个是用UTF-8进行编码的。所以如果想在GBK上的页面把参数传给UTF-8的页面,就要使用后面两个了。因为它们会把字符集转成UTF-8再进行编码。

  • 相关阅读:
    Linux内核(5)
    Linux内核(4)
    Linux内核(3)
    Linux内核(2)
    Linux内核(1)
    Linux时间子系统(十七) ARM generic timer驱动代码分析
    Linux时间子系统(十六) clockevent
    Linux时间子系统(十五) clocksource
    Linux时间子系统(十四) tick broadcast framework
    Linux时间子系统(十三) Tick Device layer综述
  • 原文地址:https://www.cnblogs.com/mengzhongshi/p/3077260.html
Copyright © 2011-2022 走看看