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版本就有。
分享到:
相关推荐
常见的三种编码方法是`escape`、`encodeURI`和`encodeURIComponent`。这些函数各有其特定的用途,理解和掌握它们的区别对于编写健壮的JavaScript代码至关重要。 1. `escape` 函数: `escape`方法主要用于对字符串...
JavaScript中的编码和转义函数主要有encodeURI、encodeURIComponent和escape这三个函数,它们用于处理URL和URI中的特殊字符。下面将详细介绍这三个函数的功能和使用场景。 首先,encodeURI函数的主要用途是编码整个...
在这个例子中,`URLEncoder.encode()`用于URL编码,`StringEscapeUtils.escapeHtml4()`用于HTML转义,然后分别有对应的解码和unescape方法。运行这段代码,你会看到原始字符串如何经过编码和转义,以及如何恢复到...
例如,在JavaScript中,有`encodeURIComponent()`、`decodeURIComponent()`等方法;在Python中,可以使用`urllib.parse.quote()`和`urllib.parse.unquote()`函数。这些内置函数遵循了相同的编码规则,确保了跨平台和...
hexencode 将字符串指定字符集进行编码成16进制字符串 hexstring 将字符串指定字符集进行编码成16进制字符串 power 求数字的幂函数 replace 将指定字符串中的源字符替换为目标字符 todec 将指定进制的数字转换成10...
escape() 方法:采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格...
除了手动实现外,还可以使用第三方库,如`Poco`库中的`URIEncoder`和`URLDecoder`,或者`cpprestsdk`库的`web::uri::encode_segment`和`web::uri::decode`等函数,它们提供了更便捷的方式来处理URL编码和解码。...
JavaScript中的字符串编码函数是开发过程中处理URI(统一资源标识符)和URL(统一资源定位符)时的关键工具。本文将详细介绍三个主要的编码函数:`escape()`、`encodeURI()`和`encodeURIComponent()`,以及它们之间...
在Java中,可以使用`java.net.URLEncoder.encode()`和`java.net.URLDecoder.decode()`方法。 在处理网页表单提交或构建动态链接时,URL编码尤其重要。当用户输入的数据包含特殊字符时,为了防止数据丢失或误解,...
在JavaScript中,有两个主要的方法用于对URL进行编码:`encodeURI()` 和 `encodeURIComponent()`。 1. `encodeURI()` `encodeURI()` 函数用于对整个URL进行编码,但不会编码某些特定字符,这些字符包括:`:/?#[]@!$...
`encodeURI`函数是JavaScript提供的一个内置方法,它的作用是对整个URL进行编码,包括特殊字符,但保留某些URL的保留字符,如冒号、斜线和问号。这个方法不会对ASCII字母和数字进行编码,也不会对以下字符进行编码:...
【渝海URL编码转换工具 v1.1_yh_url_encode】是一个专用于处理URL编码问题的实用工具。在互联网通信中,URL(统一资源定位符)是用于标识资源的字符串,它包含网络协议、主机名、路径、查询参数等部分。然而,URL中...
URL编码(也称为百分号编码)是一种用于表示URL中特殊字符的标准方法。它主要用于确保所有字符都能通过网络正确传输。例如,某些字符如空格、尖括号、引号等在URL中具有特殊含义,因此需要被转义。URL编码的主要目的...
1. `encode_url`: 这个方法会接收一个包含非ASCII或特殊字符的字符串,并对其进行URL编码。它可能会遍历字符串中的每个字符,对于非字母数字的字符,使用`%`加上其ASCII值的十六进制表示。 2. `decode_url`: 这个...
本文主要探讨了一个XSS三重URL编码绕过的实例,揭示了在某些情况下,简单的防御措施可能不足以阻止攻击。 首先,我们要理解XSS的基本概念。XSS攻击通常发生在Web应用程序未能正确过滤或转义用户输入的情况下。当...
网址编码解码,jQuery版Url.encode,Url.decode,Url.parse,一个来自jQuery的URL Decoder解码、编码插件,为你的URL安全定义一道安全防线,示例文件本身就是一个值得学习的实例,自带的示例将告诉你如何使用这款URL...
本篇文章将详细探讨淘宝URL的编码和解码方法,以及如何利用Java编程语言实现这一过程。 首先,URL编码遵循的是统一资源定位符(Uniform Resource Locator,简称URL)标准,即RFC3986。在URL中,非字母数字字符需要...
例如,JavaScript的`encodeURIComponent()`和`decodeURIComponent()`函数,Python的`urllib.parse.quote()`和`urllib.parse.unquote()`方法,以及Java的`java.net.URLEncoder.encode()`和`java.net.URLDecoder....