`

JavaScript中各编码解码函数的区别和注意事项

阅读更多
JavaScript 中encodeURI,encodeURIComponent与escape的区别和注意


大家在使用JS提交数据时,尤其是中文的时候,经常会需要将要提交的字符串进行URL编码。在JS中对字符串进行URL编码有好几种方 法,encodeURI,encodeURIComponent,还有escape。在我看到的很多代码中escape这个函数用的最多,不过这个函数却 是不推荐使用的。下面我们来分别看看这几个函数:
  
  encodeURI:对指定的字符串进行URL编码,不包括 : # / \ = & 这些URL中的关键字符。
  
  encodeURIComponent:对字符串中的字符进行编码,包括URL中的特殊字符。
  
  escape:这个是JS比较早期版本的函数,这个函数中处理unicode字符的时候会有些问题。

  代码如下:
  
1     var url = "http://www.abc.com?q=aa& amp;b=呵呵";
2
3     var encodedUrl = encodeURI(url);
4
5     alert(encodedUrl); //输出:http://www.abc.com?q=aa&b=%E5%91%B5%E5%91%B5
6    
7     encodedUrl = encodeURIComponent(url);   
8     alert(encodedUrl);   //输出:http%3A%2F %2Fwww.abc.com%3Fq%3Daa%26b%3D%E5%91%B5%E5%91%B5
9
10     alert(escape(url));  //输出:http%3A//www.abc.com%3Fq%3Daa%26b%3D%u5475%u5475


  如上所示,escape函数中处理中文字符的时候,都会转换成%uxxxx这种形式,显然这个和URL编码的格式不一样,而 encodeURIComponent函数编码是最彻底的,如果没有特殊需要的话,encodeURIComponent这个函数是比较常用的,当然,也 许我们使用escape也不会有什么问题,也许你的服务端语言也能够正常的解析出来,不过这个函数在处理unicode字符的时候还不是很标准,所以这里 建议大家使用encodeURIComponent和decodeURIComponent这对函数来对字符串进行URL编码和解码。
Tag标签: 成功在于总结,编码,JavaScript,escape,encodeURI,encodeURIComponent,解码
分享到:
评论

相关推荐

    JavaScript中各种编码解码函数的区别和注意事项

    在这里,我们将对JavaScript中三种常见的编码解码函数:encodeURI、encodeURIComponent和escape进行详细的分析,并指出它们各自的用途和注意事项。 首先,了解URL编码的基本原理是必要的。URL编码(也称为百分号...

    base64编码解码程序

    综上所述,"base64编码解码程序"涉及到的不仅是Base64编码的基本原理和操作,还包括了如何处理包含中文在内的多字节字符,以及在实际应用中的场景和注意事项。理解和掌握这些知识点对于进行数据传输和处理工作是非常...

    JavaScript中常见内置函数用法示例

    本文将对JavaScript中一些常用的内置函数功能、参数、使用方法及相关操作注意事项进行详细介绍,帮助开发者更好地理解和运用这些内置函数。 一、parseInt()函数 parseInt()函数用于将字符串转换为整数。如果字符串...

    javascript中encodeURI和decodeURI方法使用介绍.docx

    在JavaScript中,`encodeURI`和`decodeURI`是一对用于处理URL编码的重要函数。它们主要用于解决URL中包含非ASCII字符时可能出现的问题。 - **encodeURI**: 这个函数的主要作用是将一个字符串转换为合法的URL格式,...

    android中js与java间函数相互调用demo,支持中文传参,无乱码

    解决这个问题的关键在于确保数据在Java和JavaScript之间正确编码和解码。在Java端,可以使用`URLEncoder.encode()`进行编码,`URLDecoder.decode()`进行解码。在JavaScript端,可以使用`encodeURIComponent()`和`...

    java和javascript之间的DES加密解密

    Java和JavaScript之间的DES加密解密是信息安全领域中的一个重要话题,主要涉及到数据的保护和通信的安全。DES(Data Encryption Standard)是一种古老的对称加密算法,尽管它在安全性上已不被视为最佳选择,但在某些...

    javascript 传参中文乱码解决方案

    在服务端接收到请求后,需要使用相应的解码函数来还原中文字符。以下是在Java环境中进行解码的示例: ```java import java.net.URLDecoder; import java.nio.charset.StandardCharsets; public class Main { ...

    经典收藏(2021-2022年收藏)我们来学习敲击经络的“顺逆”判断方法以及注意事项.doc

    文档标题和描述中提到的内容似乎与中医经络的敲击方法和注意事项有关,但提供的文件部分内容却涉及到网页脚本和JavaScript代码,以及网络请求。这看起来是一个错误的匹配,因为"经典收藏(2021-2022年收藏)我们来...

    URL解码-编码器URL解码-编码器

    在实际操作中,开发者通常会使用编程语言提供的内置函数进行URL编码和解码,例如JavaScript的`encodeURIComponent()`和`decodeURIComponent()`,Python的`urllib.parse.quote()`和`urllib.parse.unquote()`,Java的`...

    JavaScript实现在页面间传值的方法

    这里使用了decodeURIComponent函数来解码URL编码的字符串,确保获取的参数值是正确的。 以上方法都是在客户端进行数据传递,这有助于减少服务器的负载,提高数据传递的效率。然而,需要注意的是,使用客户端技术...

    JavaScript混淆器

    4. 使用编码和解码函数:高级混淆器可能会将部分代码转换为其他形式,比如Base64编码,然后在运行时解码执行,增加逆向工程的难度。 5. 控制流混淆:通过改变控制流结构,如循环和条件语句,混淆器可以使代码逻辑...

    用JavaScript实现UrlEncode和UrlDecode的脚本代码

    在深入理解JavaScript实现UrlEncode和UrlDecode函数的过程中,我们需要理解几个关键点:首先,URL编码和解码在Web开发中是一种常见的需求,用于确保URL中的特殊字符被正确传输。其次,JavaScript提供了一些内置的...

    javascript提取URL的搜索字符串中的参数(自定义函数实现)

    在Web开发中,经常需要...以上即为通过JavaScript自定义函数实现从URL中提取搜索参数的过程和相关知识点的详细说明。掌握此方法对于动态网页开发非常重要,能够帮助开发者更有效地处理URL参数,提高Web应用的用户体验。

    javaScript获取浏览器参数

    注意事项 - 在实际应用中,将自定义方法附加到原生对象的原型上可能会导致与第三方库或其他代码冲突,建议考虑封装为独立函数。 - 对于安全性较高的场景,应避免直接依赖URL中的参数,因为这些参数容易被修改或...

    java javascript good thing

    在JavaScript中,`DOMParser`和`XMLSerializer`可用于解析和序列化XML文档,而`encodeURIComponent`和`decodeURIComponent`函数则可处理URL编码。 3. **Utilities.java and Utilities.js**: 这两个文件可能分别...

    Javascript操作cookie的函数代码

    本文详细介绍了JavaScript中操作Cookie的函数,包括简单版本和封装版本的函数集合。 #### 简单版本操作Cookie: 1. **setCookie函数**:用于设置Cookie的值。其接受三个参数,name(Cookie名称),value(Cookie值...

    url_decoder_v3.0 url编解码工具

    - 使用标准函数:编程语言通常提供内置的URL编码和解码函数,如JavaScript的`encodeURIComponent`和`decodeURIComponent`,使用这些标准函数可以避免兼容性问题。 总结,URL编码与解码是网络开发中不可或缺的基础...

    迈云 JavaScript Socket 类 v1.0.0-源码.zip

    在实际学习过程中,建议先阅读这份文档,理解库的使用方法和注意事项。 总的来说,迈云JavaScript Socket类v1.0.0是针对WebSocket通信的一个实用工具,它封装了复杂的底层协议,让开发者能更专注于业务逻辑。通过对...

    JS版 UrlEncode

    本文将深入探讨一个JavaScript版本的URL编码和解码函数实现,并分析其工作原理及应用场景。 #### 一、URL编码(UrlEncode) URL编码的主要目的是将特殊字符转换为可以在URL中传输的形式。在给定的代码示例中,`...

    图片base64编码互换源码

    本主题涉及的知识点主要包括Base64编码原理、如何进行图片的Base64编码与解码,以及在实际应用中的注意事项。 1. Base64编码原理: Base64是一种基于64个字符的编码方式,这些字符包括大小写字母(A-Z, a-z)、...

Global site tag (gtag.js) - Google Analytics