关于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 相关文章推荐
jquery使用ColorBox弹出图片组浏览层实例演示
Mar 14 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
Jun 26 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
May 27 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
May 04 Javascript
JS表格组件神器bootstrap table使用指南详解
Apr 12 Javascript
浅谈JS如何实现真正的对象常量
Jun 25 Javascript
Vue的MVVM实现方法
Aug 16 Javascript
Javascript 严格模式use strict详解
Sep 16 Javascript
js精确的加减乘除实例
Nov 14 Javascript
ionic grid(栅格)九宫格制作详解
Jun 30 Javascript
详解JavaScript作用域和作用域链
Mar 19 Javascript
JavaScript组合设计模式--改进引入案例分析
May 23 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
最小化数据传输――在客户端存储数据
2006/10/09 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
2019/10/09 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
Document 对象的常用方法
2009/07/31 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
关于jquery的多个选择器的使用示例
2013/10/18 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
vue内置指令详解
2018/04/03 Javascript
python实现调用其他python脚本的方法
2014/10/05 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
Python中SQLite如何使用
2020/05/27 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
俄罗斯领先的移动和数字设备在线商店:Svyaznoy.ru
2020/12/21 全球购物
军训自我鉴定100字
2014/02/13 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
护士求职自荐信范文
2014/03/19 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
初中班主任评语大全
2014/04/24 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
酒店员工手册范本
2015/05/14 职场文书
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android