javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。
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版本就有。
本文向大家介绍Javascript编程中几种继承方式比较分析,包括了Javascript编程中几种继承方式比较分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了Javascript编程中几种继承方式比较。分享给大家供大家参考,具体如下: 开篇 从'严格'意义上说,javascript并不是一门真正的面向对象语言。这种说法原因一般都是觉得javascript作为一门弱类型语言与类似java
问题内容: 如何使用JavaScript安全地编码URL,以便可以将其放入GET字符串中? 我假设您需要在第二行编码该变量? 问题答案: 签出内置函数encodeURIComponent(str)和encodeURI(str)。 在您的情况下,这应该起作用:
本文向大家介绍iOS中从网络获取数据的几种方法的比较,包括了iOS中从网络获取数据的几种方法的比较的使用技巧和注意事项,需要的朋友参考一下 IOS中获取网络数据一般有三种:1、NSURLCondition(已过时) 2、NSURLSession 3、三方库AFNetWorking NSURLSession 是苹果对NSULRCondition的替代品,NSURLSession比NSURLC
问题内容: 您将如何从业务逻辑层中的一种方法在数据访问层中调用几种方法,以使所有SQL命令都驻留在一个SQL事务中? 可以从BLL中的其他位置分别调用每个DAL方法,因此不能保证数据层方法始终是事务的一部分。我们需要此功能,因此,如果数据库在长时间运行的过程中脱机,则不会提交任何内容。业务层基于每个先前调用的结果来编排不同的数据层方法调用。我们只想在整个过程的最后(从业务层)提交。 问题答案: 好
本文向大家介绍JavaScript代码编写中各种各样的坑和填坑方法,包括了JavaScript代码编写中各种各样的坑和填坑方法的使用技巧和注意事项,需要的朋友参考一下 坑”这个字,在此的意思是“陷阱”。由于 JavaScript “弱语言”的性质,使得其在使用过程中异常的宽松灵活,但也极为容易“中招”。这些坑往往隐藏着,所以必须擦亮双眼,才能在学习与应用 JS 的道路上走的一帆风顺。 一、全局变量
本文向大家介绍javascript添加前置0(补零)的几种方法,包括了javascript添加前置0(补零)的几种方法的使用技巧和注意事项,需要的朋友参考一下 前言 众所周知JavaScript中的数字是没有前置0的,因此需要我们自己进行操作来添加前置0,而且还得转换成字符串。 假如生成一个是一共是4位的有前置0的数据,通常我们能想到的方法是这样子的: 这种方式的思路比较简单,根据当前数据的位数来