关于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 相关文章推荐
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
Jan 16 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
Feb 04 Javascript
基于jQuery的图片不完全按比例自动缩小
Jul 11 Javascript
Angular2中select用法之设置默认值与事件详解
May 07 Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
create-react-app构建项目慢的解决方法
Mar 14 Javascript
详解微信小程序调用支付接口支付
Apr 28 Javascript
seajs和requirejs模块化简单案例分析
Aug 26 Javascript
vue+axios全局添加请求头和参数操作
Jul 24 Javascript
JS highcharts动态柱状图原理及实现
Oct 16 Javascript
AJAX实现指定部分页面刷新效果
Oct 16 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
php self,$this,const,static,->的使用
2009/10/22 PHP
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
2017/02/15 PHP
PHP7新功能总结
2019/04/14 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
Python实现简单的HttpServer服务器示例
2017/09/25 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Python File readlines() 使用方法
2018/03/19 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
python实现可逆简单的加密算法
2019/03/22 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
完美主义个人的自我评价
2014/02/17 职场文书
薪酬专员岗位职责
2014/02/18 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
毕业自我鉴定书
2014/03/24 职场文书
运动会演讲稿200字
2014/08/25 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
Python Django项目和应用的创建详解
2021/11/27 Python
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python