直接上代码
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u= +encodeURIComponent("http://cang.baidu.com/bruce42")+">退出</a>');</script>
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,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
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u= +encodeURIComponent("http://cang.baidu.com/bruce42")+">退出</a>');</script>
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,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
分享到:
相关推荐
在JavaScript中实现Base64编码通常有两种方式:一种是使用自定义函数;另一种是利用Web API如`btoa()`和`atob()`函数。本次主要讲解如何使用自定义函数实现Base64编码。 ##### 2.1 编码函数 ```javascript ...
在IT领域,尤其是在Web开发中,处理URL中的特殊字符编码是一项常见的需求。URL中的某些字符因为具有特殊含义或不被支持,会被转换为十六进制形式的百分号编码(Percent-Encoding),例如空格通常被编码为"%20",而...
在实际开发中,有许多工具和库可以帮助开发者自动处理特殊字符转义,如JavaScript的`encodeURI()`、`encodeURIComponent()`函数,PHP的`htmlspecialchars()`函数等。这些工具能确保内容正确显示且安全。 7. **...
在JavaScript中,可以使用`encodeURI()`函数对URL中的特殊字符进行编码,使之能够通过网络传输。`encodeURI()`会将非字母数字字符转换为它们的十六进制表示形式,并且前面加上`%`符号。例如: ```javascript let ...
**实现思路**:对于包含特殊字符的文件名,在上传和下载的过程中进行编码和解码处理,确保文件名能够正确地被服务器识别并下载。 **步骤详解**: 1. **上传时转码**: - 当用户上传文件时,首先读取文件名。 - ...
在Web开发中,尤其是使用Java Server Pages (JSP)进行开发时,经常需要处理URL中的参数,包括参数的传递、解析以及对中文等特殊字符的处理。本文将详细介绍如何在JSP页面中利用JavaScript进行URL参数的传递和解析,...
在Web开发过程中,经常需要处理URL中的特殊字符,特别是中文字符。由于URL传输限制及浏览器解析原因,中文等非ASCII字符需要被编码为特定格式才能在网络上传输。本文将详细介绍如何使用JavaScript进行URL编码转换,...
JavaScript中也存在特殊字符,例如引号和反斜杠,需要正确处理以避免语法错误。 1. **字符串转义**:JavaScript字符串支持转义字符,如`\n`(换行)、`\t`(制表符)等。 - 示例代码: ```javascript var str = ...
这些实体的应用不仅限于文本内容,还可以在属性值、JavaScript代码和CSS样式中使用,确保这些特殊字符不会被误解析。 在实际开发中,我们常常会遇到需要批量转换的情况。这时,可以借助一些工具,比如在线的HTML...
在JSP中,当需要将含有汉字的参数通过URL传递时,必须先进行转码,以防止URL中特殊字符或非ASCII字符引起的问题。通常,我们可以使用`java.net.URLEncoder.encode()`方法来对字符串进行编码。这个方法会将字符串中的...
所有的空格符、标点符号、特殊字符以及更多有联系非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是 。 escape不编码字符有69个:*,+,-,....
当参数值包含中文或其他特殊字符时,也需要进行转码。在JavaScript中,我们可以使用`encodeURIComponent()`函数对整个URL进行转码,或者只对特定参数值进行转码: ```javascript let url = "www.example.com/?name=...
在处理特殊字符时,可能会遇到ASCII和Unicode的转换问题。例如,某些API可能只接受ASCII编码,这时就需要将Unicode字符串转换为ASCII。JavaScript中的`encodeURIComponent()`和`decodeURIComponent()`函数可以帮助...
原来是javascript在提交数据时若遇到”\”会把它当做javascript的特殊字符对待(相当于关键字),从而打乱了javascript代码,导致错误.而我的pathname由于是绝对地址,包含了很多个”\”,所以报错。解决办法是将”\”替换...
在JS中,Unicode转码主要涉及到字符串的编码和解码过程。 在JS中,Unicode转码主要涉及到以下几种方法: 1. `encodeURI()` 和 `decodeURI()`: 这两个函数用于对URI(统一资源标识符)进行编码和解码。`encodeURI...
在这个例子中,我们使用alert()函数弹出转码后的结果,可以看到特殊字符"-"和"#"被转义成了它们的URL编码形式。 总结来说,当我们在使用JavaScript进行URL传值时,面对URL中的特殊字符,主要可以通过两种方法解决...
HTML转码是一个重要的Web开发概念,它涉及到将HTML实体或特殊字符转化为它们的等价Unicode字符,以便在网页上正确显示。在HTML中,有些字符如"、">"、"&"等有特殊的含义,如果不进行转码,它们可能会被浏览器解析为...
在JSP开发中,经常会遇到需要在JavaScript中传递和解析URL参数,以及涉及到中文字符转码和解码的问题。这些操作对于前端开发人员来说是基础技能,但却是构建动态网页和实现前后端交互的重要环节。下面详细介绍一下...
#### 方法二:特殊字符转码 即使设置了正确的Content-Type,对于包含特殊字符的文本仍需小心处理。如果服务器端的接收代码没有正确处理这些字符,就可能导致解析错误。在发送数据前,可以使用JavaScript中的`...