关于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添加输出窗口的代码
Feb 07 Javascript
鼠标选择动态改变网页背景颜色的JS代码
Dec 10 Javascript
javascript实现捕捉键盘上按下的键
May 05 Javascript
js实现获取当前时间是本月第几周的方法
Aug 11 Javascript
举例讲解jQuery中可见性过滤选择器的使用
Apr 18 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
Apr 21 Javascript
JS添加或修改控件的样式(Class)实现方法
Oct 15 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
Feb 24 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
Apr 18 Javascript
javascript高级模块化require.js的具体使用方法
Oct 31 Javascript
微信小程序实现定位及到指定位置导航的示例代码
Aug 20 Javascript
vue实现同时设置多个倒计时
May 20 Vue.js
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
destoon在360浏览器下出现用户被强行注销的解决方法
2014/06/26 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
Javascript & DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
firefox插件Firebug的使用教程
2010/01/02 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
setTimeout函数的神奇使用
2017/02/26 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
python实现键盘控制鼠标移动
2020/11/27 Python
python爬取指定微信公众号文章
2018/12/20 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
django 微信网页授权登陆的实现
2019/07/30 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
PyTorch 解决Dataset和Dataloader遇到的问题
2020/01/08 Python
CSS3教程(4):网页边框和网页文字阴影
2009/04/02 HTML / CSS
HTML5 weui使用笔记
2019/11/21 HTML / CSS
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
学校安全工作制度
2014/01/19 职场文书
铲车司机岗位职责
2014/03/15 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
公司新年寄语
2014/04/04 职场文书
同居协议书范本
2014/04/23 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书