关于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 相关文章推荐
超级强大的表单验证
Jun 26 Javascript
js判断某个方法是否存在实例代码
Jan 10 Javascript
JQuery遍历DOM节点的方法
Jun 11 Javascript
JavaScript仿百度图片浏览效果
Nov 23 Javascript
jQuery Validate插件自定义验证规则的方法
Dec 27 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
Mar 01 Javascript
vue-router 路由基础的详解
Oct 17 Javascript
使用electron将vue-cli项目打包成exe的方法
Sep 29 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
修改layui的后台模板的左侧导航栏可以伸缩的方法
Sep 10 Javascript
Vue通过配置WebSocket并实现群聊功能
Dec 31 Javascript
JS通用方法触发点击事件代码实例
Feb 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
php 表单数据的获取代码
2009/03/10 PHP
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
curl和libcurl的区别简介
2015/07/01 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
2016/12/21 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
Python2实现的LED大数字显示效果示例
2017/09/04 Python
python写入已存在的excel数据实例
2018/05/03 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
python批量修改xml属性的实现方式
2020/03/05 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
行政主管岗位职责
2013/11/18 职场文书
分公司任命书
2014/06/06 职场文书
花坛标语大全
2014/06/30 职场文书
党支部工作总结2015
2015/04/01 职场文书
初中数学教学反思范文
2016/02/17 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书