关于URL中的特殊符号使用介绍
2011-11-03 15:49
1181 查看
url即统一资源定位符,是通用资源标志符URI的一种。
由于有效的URI中不能包含某些字符,如空格等,如果不利用相应编码函数对URI进行编码(浏览器会对相应的URL进行处理),那么无法访问到有效的资源。
javascript的Global对象(javascript的内置对象)中有四个URI方法,分别是encodeURI和decodeURI,encodeURIComponent和decodeURIComponent,浏览器模型(BOM)提供了escape和unescape。在实际应用中,URI方法更可取,因为URI方法会对所有的Unicode符号编码,而BOM提供的escape和unescape只对ASCII符号进行编码。此外escape,unescape可以用来对数据进行加密和解密处理。
其中encodeURI和decodeURI是作相反的处理,encodeURIComponent和decodeURIComponent是做相反的处理,escape和unescape做相反的处理。
encodeURI是处理完整的URI,而encodeURIComponent处理URI片段,encodeURI编码除:!,#,¥,&,',(,),×,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z(共82个)以外的字符,而encodeURIComponent编码除:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z(共71个)以外的字符,escape编码除:*,+,-,.,/,@,_,0-9,a-z,A-Zs(共61个)以外的字符。
请求服务器(服务器是64位的操作系统)端以含有特殊字符(+)的为名字的文件,用encodeURI,decodeURIComponent或者escape都会提示相应的资源不存在,这是为什么呢?
js代码:
复制代码 代码如下:
url ="http://192.168.6.135/nas135/MyDocument/1+2.txt"
window.open(EncodeURI(url),"","","");
通过debug看到
EncodeURI(url)="http://192.168.6.135/nas135/MyDocument/1%2b2.txt",但是却打不开服务器端1+2.txt的文件,不知道是不是因为64机器的原因?请各位大侠帮忙解释一下?
由于有效的URI中不能包含某些字符,如空格等,如果不利用相应编码函数对URI进行编码(浏览器会对相应的URL进行处理),那么无法访问到有效的资源。
javascript的Global对象(javascript的内置对象)中有四个URI方法,分别是encodeURI和decodeURI,encodeURIComponent和decodeURIComponent,浏览器模型(BOM)提供了escape和unescape。在实际应用中,URI方法更可取,因为URI方法会对所有的Unicode符号编码,而BOM提供的escape和unescape只对ASCII符号进行编码。此外escape,unescape可以用来对数据进行加密和解密处理。
其中encodeURI和decodeURI是作相反的处理,encodeURIComponent和decodeURIComponent是做相反的处理,escape和unescape做相反的处理。
encodeURI是处理完整的URI,而encodeURIComponent处理URI片段,encodeURI编码除:!,#,¥,&,',(,),×,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z(共82个)以外的字符,而encodeURIComponent编码除:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z(共71个)以外的字符,escape编码除:*,+,-,.,/,@,_,0-9,a-z,A-Zs(共61个)以外的字符。
请求服务器(服务器是64位的操作系统)端以含有特殊字符(+)的为名字的文件,用encodeURI,decodeURIComponent或者escape都会提示相应的资源不存在,这是为什么呢?
js代码:
复制代码 代码如下:
url ="http://192.168.6.135/nas135/MyDocument/1+2.txt"
window.open(EncodeURI(url),"","","");
通过debug看到
EncodeURI(url)="http://192.168.6.135/nas135/MyDocument/1%2b2.txt",但是却打不开服务器端1+2.txt的文件,不知道是不是因为64机器的原因?请各位大侠帮忙解释一下?
您可能感兴趣的文章:
相关文章推荐
- 关于URL中的特殊符号使用介绍
- phpcms关于url路由在二次开发中的使用方法介绍-实现泛解析
- 关于c语言中几种特殊预定义符号的使用
- url转码:如何得到没有特殊符号的http请求的url——使用火狐firebug等
- 关于http url中特殊符号的记录
- 关于utf-8编码的ajax中url传中文及特殊符号乱码的实际可用处理办法
- phpcms关于url路由在二次开发中的使用方法介绍-实现泛解析
- 详解IIS中的重写工具下关于操作重定向URL中的{R:N}与{C:N}使用介绍
- 关于Proxool使用介绍及在使用中发现的问题
- iOS关于蓝牙连接的简单介绍与使用
- Mysql语法、特殊符号及正则表达式的使用详解
- 关于pager-taglib参数和其他url参数混合使用问题。
- 关于Linux grep命令使用的详细介绍
- 黑马程序员—OC(关于OC的一些简单介绍及使用)
- 关于MongoDB的URL连接时用户名或密码中出现特殊字符问题
- 如何使用 ALT 键输入特殊符号
- 关于开源的XML Parser expat的介绍和使用心得
- 关于双向认证,使用HttpsURLConnection访问Https安全链接
- 在android上使用ASCII显示特殊符号
- 关于Linux Grep命令使用的详细介绍