关于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 脚本将当地时间转换成其它时区
Mar 19 Javascript
js日期联动示例
May 02 Javascript
jquery.ajax之beforeSend方法使用介绍
Dec 08 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
Mar 01 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
Dec 08 Javascript
js下载文件并修改文件名
May 08 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 Javascript
vue按需引入element Transfer 穿梭框
Sep 30 Javascript
利用JS hash制作单页Web应用的方法详解
Oct 10 Javascript
详解微信小程序中组件通讯
Oct 30 Javascript
微信小程序wepy框架学习和使用心得详解
May 24 Javascript
微信小程序实现打卡签到页面
Sep 21 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
smarty实例教程
2006/11/19 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
PHP答题类应用接口实例
2015/02/09 PHP
PHP设计模式之工厂模式详解
2017/10/24 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
jquery foreach使用示例
2013/09/12 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
JS验证码实现代码
2017/09/14 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
详解基于electron制作一个node压缩图片的桌面应用
2019/01/29 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
python实现批量图片格式转换
2020/06/16 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
python函数的万能参数传参详解
2019/07/26 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
python实现二分查找算法
2020/09/18 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
直接有效的自我评价
2014/01/11 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
发票退票证明
2015/06/24 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS