`
esffor
  • 浏览: 1370651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript中存在几种对URL字符串进行编码的方法

阅读更多
javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。
escape() 方法:

采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。

不会被此方法编码的字符: @ * / +

encodeURI() 方法:

把URI字符串采用UTF-8编码格式转化成escape格式的字符串。

不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + ’

encodeURIComponent() 方法:

把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。

不会被此方法编码的字符:! * ( ) ’

因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者encodeURIComponent。

另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。

分享到:
评论

相关推荐

    Javascript中的几种URL编码方法比较

    javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。 escape() 方法:  采用ISO Latin字符集对指定的字符串进行编码。所有的空格符...

    利用JS把URL地址栏%20、%55之类编码转成中文字符

    具体来说,除了字母、数字以及少数几种符号外,其他所有字符都会被转换为百分号加上两位十六进制数的形式。例如,空格被编码为"%20",是因为它的ASCII码是32,用十六进制表示就是20。 ### JavaScript中的URL解码...

    javascript查询字符串参数的方法

    在JavaScript中,处理查询字符串参数是一种常见的需求,本篇将详细介绍如何在JavaScript中获取URL查询字符串中的参数。 首先,我们需要了解几个关于URL的JavaScript内置对象和方法。location对象是window对象的一个...

    截取字符串

    标题“截取字符串”涉及的核心知识点主要是如何在编程语言中对字符串进行片段提取。这通常包括查找、定位和提取字符串中的特定部分,以便进行进一步处理或分析。在此,我们将探讨字符串截取的通用方法以及在不同编程...

    JS对字符串编码的几种方式使用指南

    本文将详细解释JavaScript中对字符串编码的几种不同方式,以及它们的使用场景和区别。 首先,我们需要了解几个关键的字符串编码方法:`escape()`、`encodeURI()`和`encodeURIComponent()`。这三种方法虽然都用于...

    用于将字符串编码成Base16Base32Base64MD5SHA1的库

    这个库,名为"用于将字符串编码成Base16Base32Base64MD5SHA1的库",提供了对几种常见编码格式和哈希函数的支持,包括Base16、Base32、Base64,以及MD5和SHA-1。这些工具在JavaScript环境中尤其有用,因为它们可以...

    java中文乱码之解决URL中文乱码问题的方法

    - **一次转码**:使用`encodeURI()` 对URL进行编码,然后在服务器端使用适当的解码方法,如Java中的`new String(name.getBytes("ISO-8859-1"), "UTF-8")`,确保从ISO-8859-1转回UTF-8。 - **二次转码**:先使用`...

    Python中还原JavaScript的escape函数编码后字符串的方法

    在Python中,还原JavaScript escape函数编码后字符串的方法主要是通过对JavaScript的escape编码方式进行解析和还原。escape函数在JavaScript中用于将字符串进行转义,使其成为适合在URL中传输的格式。通常,这种编码...

    js对图片base64编码字符串进行解码并输出图像示例

    标题“js对图片base64编码字符串进行解码并输出图像示例”和描述“主要介绍了js对图片base64编码字符串进行解码并输出图像的具体实现,大家可以参考下面的示例”揭示了文章的核心内容是关于在JavaScript中将图片的...

    String-utf8-base64.html

    开发中前后端通讯用的有可能是字符串、URL编码、utf-8字节数组、base64编码,该demo是JavaScript中对于字符串、URL编码、utf-8字节数组、base64编码这几种编码方式之间的互相转化

    Encode_ Decode Tools URL编码解码工具

    URL编码是一种按照特定规则将URL中可能引起问题的字符转换为百分号(%)加两位十六进制数字的形式。例如,空格会被编码为"%20",而"&"、"+"和"/"等字符也有相应的编码方式。这是根据RFC 3986标准执行的,这个标准...

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

    在foo()函数中,我们构造了一个包含所需参数的URL字符串,然后使用window.location.replace(str)方法跳转到新的页面b.html,并传递参数。这种方法的一个重要注意事项是,必须确保b.html页面事先存在,以便能够正确...

    url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介

    - **`encodeURI()`**:用于对整个URL进行编码,适合处理整个URL字符串。 - **`encodeURIComponent()`**:专门用于对URL的一部分进行编码,适合处理URL中的查询字符串或路径段。 #### 使用场景示例 假设我们需要...

    extjs 前后台交互参数出现中文乱码问题的解决方法

    // 对已经编码过的字符串再次进行编码(确保传输安全) CustomFormName1 = encodeURI(CustomFormName1); alert('第二次编码后的值: ' + CustomFormName1); // 创建Ajax请求对象 var conn = Ext.lib.Ajax....

    使用javascript将汉字转化成UNICODE编码

    在JavaScript中,有几种方法可以将汉字转换为Unicode编码: 1. 使用`String.fromCharCode()`函数 此函数接受一个或多个Unicode码点作为参数,并返回相应的字符。相反,要获取字符的Unicode码点,可以使用`\u`后跟4...

    替换字符串的特定字符源代码.zip

    例如,我们可能需要将字符串中的空格替换为下划线,或者将非字母数字字符替换为安全的URL编码。 1. **Python**:在Python中,可以使用`str.replace(old, new)`方法来替换字符串中的特定字符。例如,`s = "Hello, ...

    在构建时将您的字符串集转换为优化的RegExps

    总的来说,提前将字符串集转换为优化的RegExps是JavaScript开发中一种有效的性能优化技巧,尤其适合那些对匹配速度有较高要求的场景。然而,这种方法也需要根据具体情况进行权衡,因为生成和维护这样的正则表达式...

    js中传递特殊字符的方法.docx

    +号通常被解析为空格,这是因为+在URL编码中代表空格;而&号在URL中用于分隔参数,表示键值对的连接。因此,当字符串到达服务器端时,原始的字符可能已经被改变,导致服务器端验证失败。 为了解决这个问题,我们...

    ASP.NET中url传递中文的解决方案

    在ASP.NET开发过程中,经常会遇到通过URL字符串在不同页面之间传递参数的情况。特别是当这些参数包含中文时,容易出现乱码的问题。这类问题通常源于编码方式不匹配,因此解决此类问题的核心在于正确设置编码格式以及...

Global site tag (gtag.js) - Google Analytics