关于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 相关文章推荐
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
Apr 21 Javascript
来自qq的javascript面试题
Jul 24 Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 Javascript
JQuery标签页效果的两个实例讲解(4)
Sep 17 Javascript
jQuery实现百度登录框的动态切换效果
Apr 21 jQuery
JavaScript之Date_动力节点Java学院整理
Jun 28 Javascript
vue中多路由表头吸顶实现的几种布局方式
Apr 12 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 Javascript
javascript History对象原理解析
Feb 17 Javascript
JavaScript链式调用原理与实现方法详解
May 16 Javascript
JavaScript实现矩形块大小任意缩放
Aug 25 Javascript
微信小程序实现首页弹出广告
Dec 03 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
各种战术和打法的原创者
2020/03/04 星际争霸
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
javascript两段代码,两个小技巧
2010/02/04 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
在Vue 中实现循环渲染多个相同echarts图表
2020/07/20 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
js制作提示框插件
2020/12/24 Javascript
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
python绘制多个曲线的折线图
2020/03/23 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
python如何实现图片压缩
2020/09/11 Python
详解CSS3:overflow属性
2020/11/17 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
爱普生美国官网:Epson美国
2018/11/05 全球购物
网络研修随笔感言
2014/02/17 职场文书
食品工程专业求职信
2014/06/15 职场文书
出差报告格式模板
2014/11/06 职场文书
教师节主题班会方案
2015/08/17 职场文书
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB
Python实现对齐打印 format函数的用法
2022/04/28 Python