关于URL中的特殊符号使用介绍

 更新时间:2011年11月03日 15:49:46   作者:  
因为经常被Javascript中的rul的相关知识困扰,今天来总结一下URL的特殊字符
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机器的原因?请各位大侠帮忙解释一下?

相关文章

  • Webpack执行命令参数详解

    Webpack执行命令参数详解

    本篇文章主要介绍了Webpack执行命令参数详解 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • JavaScript立即执行函数的三种不同写法

    JavaScript立即执行函数的三种不同写法

    这篇文章主要介绍了JavaScript立即执行函数的三种不同写法,需要的朋友可以参考下
    2014-09-09
  • 如何利用JavaScript 实现继承

    如何利用JavaScript 实现继承

    这篇文章主要介绍了如何利用JavaScript 实现继承,JavaScript 在编程语言界是个特殊种类,它和其他编程语言很不一样,JavaScript可以在运行的时候动态地改变某个变量的类型,下面小编将继续介绍JavaScript如何实现继承,需要的朋友可以参考下
    2022-02-02
  • 如何使用js正则表达式验证文件夹名是否符合规范

    如何使用js正则表达式验证文件夹名是否符合规范

    众所周知正则表达式非常强大,下面这篇文章主要给大家介绍了关于如何使用js正则表达式验证文件夹名是否符合规范的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • uniapp基础篇之上传图片的实战步骤

    uniapp基础篇之上传图片的实战步骤

    应用uni-app开发跨平台App项目时,上传图片、文档等资源功能需求十分常见,下面这篇文章主要给大家介绍了关于uniapp基础篇之上传图片的相关资料,需要的朋友可以参考下
    2022-12-12
  • JavaScript通如何过RGraph实现动态仪表盘

    JavaScript通如何过RGraph实现动态仪表盘

    这篇文章主要介绍了JavaScript通如何过RGraph实现动态仪表盘,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • javaScript动态添加Li元素的实例

    javaScript动态添加Li元素的实例

    下面小编就为大家分享一篇javaScript动态添加Li元素的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • js时间戳与日期格式之间相互转换

    js时间戳与日期格式之间相互转换

    这篇文章主要为大家详细介绍了js时间戳与日期格式之间相互转换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Js 时间函数getYear()的使用问题探讨

    Js 时间函数getYear()的使用问题探讨

    不推荐使用getYear()这个函数,因为在火狐中显示是不正确的,所以推荐使用getFullYear() 函数,接下来为大家详细介绍下getYear函数在不同浏览下的使用问题
    2013-04-04
  • 精通Javascript系列之数据类型 字符串

    精通Javascript系列之数据类型 字符串

    下面先讲一下字符串String字符串由零个或者多个字符构成。字符可以包括字母、数字、标点符号和空格。
    2011-06-06

最新评论