`
- 浏览:
590824 次
- 性别:
- 来自:
杭州
-
URL转码escape() encodeURI() encodeURIComponent()
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1.传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:
url:'/supervisorManage/supervisorInfoManage/dispatchSupervisorInfo.action?mode=add&supervisorName='+encodeURIComponent('监管人员')+'&population.populationType='+$("#_populationType_").val();
2、 encodeURI 着眼于对整个URL进行编码,进行url跳转时可以整体使用encodeURI
例如:Location.href="/encodeURI"("http://cang.baidu.com/do/s?word=百度&ct=21");
3、 escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值
对 String 对象编码以便它们能在所有计算机上可读,
escape(charString)
必选项charstring参数是要编码的任意String对象或文字。
说明
escape方法返回一个包含了charstring内容的字符串值(Unicode格式)。所有空格、标点、重音符号以
及 其他非ASCII字符都用%xx编码代替,其中xx等于表示该字符的十六进制数。例如,空格返回的是 "%20 " 。
字符值大于255的以%uxxxx格式存储。
注意 :escape方法不能够用来对统一资源标示码(URI)进行编码。对其编码应使用encodeURI和encodeURIComponent 方法。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本文将详细介绍三个主要的编码函数:`escape()`、`encodeURI()`和`encodeURIComponent()`,以及它们之间的差异。 1. `escape()`函数: `escape()`函数的主要作用是对字符串进行编码,使得该字符串能在所有计算机上...
- **二次转码**:先使用`encodeURI()` 编码一次,再用`encodeURIComponent()` 编码一次,这样URL中的特殊字符都会被编码。在服务器端,使用`URLDecoder.decode(name, "UTF-8")` 进行解码。 2. **Java服务器端处理*...
在JavaScript中,可以使用`encodeURI`或`encodeURIComponent`函数;在Java中,有`java.net.URLEncoder`类;在PHP中,可以使用`htmlspecialchars`函数等。这些函数和方法能帮助开发者在代码中自动处理HTML转码,确保...
本文将详细探讨JavaScript中的`escape`函数及其C#对应的解码方法`System.Web.HttpUtility.UrlDecode`,同时也会讲解JavaScript中的`escape`、`encodeURI`和`encodeURIComponent`的区别以及它们的解码对应函数。...
本文将详细讲解JavaScript中三种常见的URL编码方式:`escape()`、`encodeURI()`以及`encodeURIComponent()`。 1. `escape()` `escape()`函数最初设计是用来编码非ASCII字符的,但它并不适合直接用于URL编码。它将...
在JavaScript中,有三种主要的方法用于对字符串进行URL编码:`escape()`、`encodeURI()` 和 `encodeURIComponent()`。这三种方法虽然功能相似,但适用场景和编码规则各不相同。 #### 1. `escape()` 方法 - **定义*...
`encodeURIComponent()`比`encodeURI()`更严格,会编码更多特殊字符,包括`#`、`?`和`&`等,常用于URL查询字符串。`decodeURIComponent()`则是对应的解码函数。 3. `escape()` 和 `unescape()`: 这两个函数是较...
JavaScript中有三个与编码相关的函数:`escape()`、`encodeURI()`和`encodeURIComponent()`。其中,`encodeURI()`是推荐用来编码URI的,因为它遵循UTF-8编码且不会对一些特殊字符如`!`, `@`, `#`, `$`, `&`, `*`, `...
首先,我们需要了解几个关键的字符串编码方法:`escape()`、`encodeURI()`和`encodeURIComponent()`。这三种方法虽然都用于编码字符串,但它们对字符的编码范围和目的存在差异。 1. `escape()` `escape()`方法主要...
当使用`dataUrl`方式提交数据时(即通过字符串拼接的方式设置请求体),无论前台使用哪种编码方式(如`encodeURI`、`encodeURIComponent`或`escape`)对中文进行转码,在后台接收到的仍然是乱码。 **解决方法**: -...