关于URL中的特殊符号使用介绍


Posted in Javascript onNovember 03, 2011

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机器的原因?请各位大侠帮忙解释一下?
Javascript 相关文章推荐
js获取php变量的实现代码
Aug 10 Javascript
自定义的一个简单时尚js下拉选择框
Nov 20 Javascript
动态加载jquery库的方法
Feb 12 Javascript
每天一篇javascript学习小结(Date对象)
Nov 13 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
Feb 16 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
Dec 21 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
Sep 30 Javascript
JavaScript文本特效实例小结【3个示例】
Dec 22 Javascript
JS多个表单数据提交下的serialize()应用实例分析
Aug 27 Javascript
通过Kettle自定义jar包供javascript使用
Jan 29 Javascript
原生JS实现记忆翻牌游戏
Jul 31 Javascript
JavaScript中的函数式编程详解
Aug 22 Javascript
javascript学习基础笔记之DOM对象操作
Nov 03 #Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
Nov 02 #Javascript
遍历jquery对象的代码分享
Nov 02 #Javascript
jquery 笔记 事件
Nov 02 #Javascript
分页栏的web标准实现
Nov 01 #Javascript
jquery键盘事件使用介绍
Nov 01 #Javascript
JS鼠标事件大全 推荐收藏
Nov 01 #Javascript
You might like
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
PHP程序员基本要求和必备技能
2014/05/09 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
js 匿名调用实现代码
2009/06/19 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
jquery easyui使用心得
2014/07/07 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
js校验开始时间和结束时间
2020/05/26 Javascript
python中引用与复制用法实例分析
2015/06/04 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
Python进行数据提取的方法总结
2016/08/22 Python
Python实现的rsa加密算法详解
2018/01/24 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
python之array赋值技巧分享
2019/11/28 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
控制工程专业个人求职信
2013/09/25 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
长城的导游词
2015/01/30 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android