关于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 相关文章推荐
JavaScript的单例模式 (singleton in Javascript)
Jun 11 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
Sep 20 Javascript
Fixie.js 自动填充内容的插件
Jun 28 Javascript
JavaScript自定义事件介绍
Aug 29 Javascript
可选择和输入的下拉列表框示例
Nov 05 Javascript
jQuery实现点击行选中或取消CheckBox的方法
Aug 01 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
Jul 12 Javascript
基于JavaScript实现选项卡效果
Jul 21 Javascript
Vue项目中使用WebUploader实现文件上传的方法
Jul 21 Javascript
layui--js控制switch的切换方法
Sep 03 Javascript
JavaScript实现图片放大预览效果
Nov 02 Javascript
JavaScript原型链中函数和对象的理解
Jun 16 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
php从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
学习php分页代码实例
2013/10/24 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
Javascript中 toFixed四舍六入方法
2017/08/21 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
Python的ORM框架SQLObject入门实例
2014/04/28 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
大学生简单自荐信
2013/11/10 职场文书
实习评语大全
2014/04/26 职场文书
2015年学校教研室主任工作总结
2015/07/20 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
python 如何获取页面所有a标签下href的值
2021/05/06 Python
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript