关于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 相关文章推荐
jCallout 轻松实现气泡提示功能
Sep 22 Javascript
jsPDF生成pdf后在网页展示实例
Jan 16 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
Oct 23 Javascript
D3.js实现直方图的方法详解
Sep 25 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
Dec 23 Javascript
socket.io学习教程之基本应用(二)
Apr 29 Javascript
JavaScript订单操作小程序完整版
Jun 23 Javascript
JS库中的Particles.js在vue上的运用案例分析
Sep 13 Javascript
微信小程序实现文字无限轮播效果
Dec 28 Javascript
es6数据变更同步到视图层的方法
Mar 04 Javascript
手把手带你入门微信小程序新框架Kbone的使用
Feb 25 Javascript
关于AngularJS中几种Providers的区别总结
May 17 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
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
js最简单的拖拽效果实现代码
2010/09/24 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
Python显示进度条的方法
2014/09/20 Python
Python列表(list)常用操作方法小结
2015/02/02 Python
python实现图像识别功能
2018/01/29 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
How to spawning asynchronous work in J2EE
2016/08/29 面试题
大学生自荐书范文
2013/12/10 职场文书
财务会计实习报告体会
2013/12/20 职场文书
2014年国培研修感言
2014/03/09 职场文书
冰峪沟导游词
2015/02/09 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
活动主持人开场白
2015/05/28 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
Apache Hudi 加速传统的批处理模式
2022/04/24 Servers