escape(), encodeURI()和encodeURIComponent()是在Javascript中用于编码字符串的三个常用的方法
escape() 方法
escape方法以Unicode格式返回一个包含传入参数内容的string类型的值。 Escape方法会将传入参数中所有的空格、标点符号、重音字符以及其它任何非ASCII字符替换为%xx的编码形式,其中xx与其所表示的字符的16进制数表示形式相同。如空格字符的16进制表示形式为0x20,则此时xx应为20,即escape(‘ ’) 返回“%20”
encodeURI()方法
encodeURI方法返回一个经过编码的URI。如果将encodeURI方法的编码结果传递给decodeURI方法作参数,则能得到原始的未编码的字符串。需要注意到是encodeURI方法不编码如下字符":", "/", ";", and "?"。如果想要编码这些字符,请使用encodeURIComponent方法。
encodeURIComponent()方法
encodeURIComponent方法返回一个编码过的URI。如果将encodeURIComponent方法的编码结果传递给 encodeURIComponent方法作参数,则能得到原始的未编码的字符串。因为encodeURIComponent方法会编码所有的字符,所以如果待编码的字符串是用来表示一个路径(如/dir1/dir2/index.htm)时,就一定要小心使用了。‘/’符号会被其编码之后,将不再是一个有效的路径标识符,所以不能被web服务器正确地识别。当字符串包含一个单独的URI component(指?后面的请求参数)的时候,请使用此方法。
有什么区别?何时使用?
通过上面的介绍可以看出,MS的文档明显要比Mozilla详细、易懂一些,但是它们表达的都是一个意思。但是escape(), encodeURI()和 encodeURIComponent()有什么异同,它们分别适用于那种特定的情况呢?
escape方法并不编码字符+。而我们知道,在用户提交的表单字段中,如果有空格,则会被转化为+字符,而服务器解析的时候则会认为+号代表空格。由于这个缺陷,escape方法并不能正确地处理所有的非ASCII字符,你应当尽量避免使用escape方法,取而代之,你最好选择 encodeURIComponent()方法。
escape()不编码的字符:@*/+
相对于使用escape方法,使用encodeURI方法会显得更专业一些。当你需要编码一整个URI的时候,你可以使用此方法,因为URI中的合法字符都不会被编码转换。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。
encodeURI() 不编码的字符: ~!@#@{content}*()=:/,;?+'
encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的。需要注意到是字符’也是URI中的合法字符,所以也不会被编码转换。
encodeURIComponent()不编码的字符: ~!*()'
发表评论
-
08/1/8
2009-03-08 09:49 5421,sysdate oracle中表示今天的日期函数不是no ... -
08/1/7
2009-03-08 09:48 5251、<%=select table_name,attri ... -
mysql函数
2009-03-08 09:47 8741、coalesce(a,b,c):返回参数列表中第一个不为n ... -
笔记6
2009-03-08 09:46 6311、在模型中动态生成代码的函数module_eval 有时需 ... -
08/12/31
2009-03-08 09:45 657mysql中的一些用法: 1、user():列出数据库的用户名 ... -
08/12/30
2009-03-08 09:44 804一、date_select(object_name,metho ... -
08/12/26
2009-03-08 09:43 7271、Table1.find(:all,:conditions= ... -
08/12/25
2009-03-08 09:42 7642、camelize 功能与ruby中的capitalize有 ... -
08/12/24
2009-03-08 09:41 7151、在知识库系统中添加了上传和播放mp3功能。 2、对考勤系 ... -
08/12/22
2009-03-08 09:31 739由于在周末的时候在系统的“项目”模块中添加了“项目类别”模块 ... -
08/12/17
2009-03-08 09:30 720今天本打算利用javascript做一个系统的导航的,所以在网 ... -
08/12/5
2009-03-08 09:29 669今天将系统给老板看了,老板提了几点意见: 1、在各模块的列表中 ... -
08/11/10
2009-03-08 09:25 6161、实现了将数据库中的记录按不同的分页条件进行分页; 以往都是 ... -
笔记5
2009-03-08 09:23 4511、解决了昨天完成的搜索记录中还存在的问题: 现象:搜索条件中 ... -
笔记4
2009-03-08 09:19 6901,The old way var a = document ... -
笔记3
2009-03-08 09:16 613今天主要看了下sql语句在oracle中的实现 一、orac ... -
笔记2
2009-03-08 09:12 672昨天,已经弄好了项目的显示和添加模块,今天继续完成了项目职能的 ... -
笔记1
2009-03-08 09:08 561今天做CRM系统中的用户 ...
相关推荐
1998/08/05 04:12 <DIR> CHINESE 1998/07/29 18:59 109,969 DISPEX.DLL 1998/07/29 18:59 1,209,970 JSCRIPT.DLL 1997/05/24 17:16 2,154 MSSCRIPT.CNT 1997/05/24 17:16 70,780 MSSCRIPT.HLP 1998/05/01 08:39 133,...
2013/11/04 周一 21:08 12,279 AHLocale.jar 2013/11/04 周一 21:08 44,600 AHLocale.xml 2014/05/12 周一 07:31 29,866 AHNavigationDrawer.jar 2014/05/12 周一 07:30 11,206 AHNavigationDrawer.xml 2013/07/09 ...
contourView.h 2008/12/19 15:08 C/C++ Header 3 KB Distant.cpp 2008/12/3 12:33 C++ Source 1 KB Distant.h 2008/12/3 12:31 C/C++ Header 2 KB MainFrm.cpp 2008/12/1 21:29 C++ Source 3 KB MainFrm.h 2008/12/1...
89D5D12E684=PF29F08G08LCNC1-89380026865=PF29F16G16MCNC1-89380026866=PF29F32G16NCNC1-894801A6867=PF29F32G16NCND1-894821A6858=JS29F16G08AAND2-89482026A99=JS29F32G08CAND2-89482026A910=JS29F64G08JAND2-...
K9ABGD8U0BSupport Micron 25nm TLC B74 SDR 1CE/2Die MT29F256G08EJAAASupport Toshiba/scandisk 19nm 32gb/64gb tlcSupport Sandisk 19nm 128gb tlc 1ce/2die:sdtnqcbma-032gEnhance 19nm 8k 2...
Beta V1.0b0 04/29/1999 Released Beta V1.0b1 05/24/1999 The Synchro method editors have been added. Beta V1.0b2 08/01/2001 Some modifications by Walter Campelo. Beta V1.0b3 08/03/2001 Ported to Delphi ...
24考研大纲即将发布 链接:https://pan.baidu.com/s/1uDgTJnJca8p79_vCnzXHFA 提取码:bnpq
2009/08/12 12:37 1,269,760 超级巡警暴力文件删除器.EXE 2007/10/26 01:05 513 顽固目录删除器.CMD 2007/06/23 07:42 147,594 顽固软件删除工具.exe 12 个文件 3,042,623 字节 D:\安装包\实用小工具超级工具箱\...
12. Quality and Reliability: - 耐用性:可支持100,000次编程/擦除循环。 - 数据保留:符合JESD47G标准,未循环使用时在85°C下保持10年。 - Uncycled Data Retention: 在85°C下持续工作24/7长达10年。 13. ...
2009/08/18 23:23 12,564 炫绿.she 2011/11/01 16:14 12,564 炫绿亮彩.she 2010/07/31 12:37 18,056 牛仔裤.she 2011/11/01 16:14 19,770 白色火焰.she 2011/11/01 16:14 16,746 白色简约.she 2009/02/22 16:05 31,...
2012/09/29 08:42 72,710,197 The Official VCP5 Certification Guide.pdf 2013/03/30 08:47 18,617,345 VCP5 VMware Certified Professional on vSphere 5 Study Guide Exam VCP-510.pdf 2013/10/14 00:11 6,526,...
- 时钟速率:12ns (DDR)。 - 每引脚读写吞吐量:166MT/s。 2. **异步I/O性能**: - 支持高达异步定时模式4。 - tRC/tWC: 25ns (MIN)。 3. **阵列性能**: - 读取页面时间:50µs(MAX)。 - 编程页面时间:900µ...
文档涉及到的MT29F64G08CFACA、MT29F64G08CBACA以及MT29F64G08CEACA是NAND闪存芯片的产品型号,它们都是由Micron公司制造的NAND闪存产品。NAND闪存是一种非易失性存储技术,广泛用于各种电子产品中,例如USB闪存驱动...
2022/09/09 12:03 <DIR> breed 2021/09/27 14:28 1,579 Factory.tgz 2021/05/19 20:25 <DIR> fxk2sjgj 2022/08/18 15:35 <DIR> k2p 2022/08/05 17:42 <DIR> k2p刷机 2022/05/26 14:01 111,763 PandoraBox1611_1.png ...
JTAG TAP Controller with PowerPC 4xx Cores (03/29/10) Attaching PowerPC 405 Core to PLB Crossbar Arbiter (04/27/09) VMC SWIFT Model Overview (02/12/09) Optimized Code Using DSP Instructions for ...
2008/01/21 12:39 29,999 mydll.rar 2005/01/29 18:56 53,722 pconline_vc_txt.zip 2014/11/11 19:57 0 readme.txt 2007/12/18 16:54 12,058 SDK_hello.rar 2011/12/19 23:41 1,103,084 SimLibrary(简洁图书馆).rar ...
安装包含以下文件: 2018/10/10 17:11 11,775,406 ansible-2.7.0rc4.tar.gz 2018/10/12 17:18 104,964 asn1crypto-0.24.0....2018/10/12 17:13 29,860 six-1.11.0.tar.gz 2018/10/11 14:52 599,727 yaml-0.2.1.tar.gz
12. <context:component-scan base-package="com.mvc.controller" /> 13. <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> 14. ...
import pandas as pd import pandas_datareader.data as pdr def load_financial_data( start_date, end_date, output_file='', stock_symbol='GOOG' ): if len(output_file) == 0: output_file = stock_symbol+...
29/06/2008 add keys for PID Tools v5.2, D7-SYS v7.0, PowerControl, RF-Manager 14/03/2008 add keys for Simatic IT and multikey description 23/02/2008 add keys for CEMAT v7.0 , WinCC v6.2 and PCS7 v7.0 ...