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

在js中对中文和特殊字符转码

阅读更多

直接上代码

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

分享到:
评论

相关推荐

    js对字符串进行base64转码/解码

    在JavaScript中实现Base64编码通常有两种方式:一种是使用自定义函数;另一种是利用Web API如`btoa()`和`atob()`函数。本次主要讲解如何使用自定义函数实现Base64编码。 ##### 2.1 编码函数 ```javascript ...

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

    在IT领域,尤其是在Web开发中,处理URL中的特殊字符编码是一项常见的需求。URL中的某些字符因为具有特殊含义或不被支持,会被转换为十六进制形式的百分号编码(Percent-Encoding),例如空格通常被编码为"%20",而...

    html中的特殊字符转换

    在实际开发中,有许多工具和库可以帮助开发者自动处理特殊字符转义,如JavaScript的`encodeURI()`、`encodeURIComponent()`函数,PHP的`htmlspecialchars()`函数等。这些工具能确保内容正确显示且安全。 7. **...

    前后台字符集转码.txt

    在JavaScript中,可以使用`encodeURI()`函数对URL中的特殊字符进行编码,使之能够通过网络传输。`encodeURI()`会将非字母数字字符转换为它们的十六进制表示形式,并且前面加上`%`符号。例如: ```javascript let ...

    关于附件上传文件名包含特殊字符的问题解决办法

    **实现思路**:对于包含特殊字符的文件名,在上传和下载的过程中进行编码和解码处理,确保文件名能够正确地被服务器识别并下载。 **步骤详解**: 1. **上传时转码**: - 当用户上传文件时,首先读取文件名。 - ...

    JSP中js传递和解析URL参数以及中文转码和解码问题.docx

    在Web开发中,尤其是使用Java Server Pages (JSP)进行开发时,经常需要处理URL中的参数,包括参数的传递、解析以及对中文等特殊字符的处理。本文将详细介绍如何在JSP页面中利用JavaScript进行URL参数的传递和解析,...

    JS实现URL编码转换中文

    在Web开发过程中,经常需要处理URL中的特殊字符,特别是中文字符。由于URL传输限制及浏览器解析原因,中文等非ASCII字符需要被编码为特定格式才能在网络上传输。本文将详细介绍如何使用JavaScript进行URL编码转换,...

    php javascript html mysql 特殊字符处理.txt

    JavaScript中也存在特殊字符,例如引号和反斜杠,需要正确处理以避免语法错误。 1. **字符串转义**:JavaScript字符串支持转义字符,如`\n`(换行)、`\t`(制表符)等。 - 示例代码: ```javascript var str = ...

    HTML特殊字符转换

    这些实体的应用不仅限于文本内容,还可以在属性值、JavaScript代码和CSS样式中使用,确保这些特殊字符不会被误解析。 在实际开发中,我们常常会遇到需要批量转换的情况。这时,可以借助一些工具,比如在线的HTML...

    jsp中页面间传汉字参数转码的方法.docx

    在JSP中,当需要将含有汉字的参数通过URL传递时,必须先进行转码,以防止URL中特殊字符或非ASCII字符引起的问题。通常,我们可以使用`java.net.URLEncoder.encode()`方法来对字符串进行编码。这个方法会将字符串中的...

    如何通过JS实现转码与解码

    所有的空格符、标点符号、特殊字符以及更多有联系非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是 。 escape不编码字符有69个:*,+,-,....

    URL中文字符

    当参数值包含中文或其他特殊字符时,也需要进行转码。在JavaScript中,我们可以使用`encodeURIComponent()`函数对整个URL进行转码,或者只对特定参数值进行转码: ```javascript let url = "www.example.com/?name=...

    javascript中 unicode和ascii转码

    在处理特殊字符时,可能会遇到ASCII和Unicode的转换问题。例如,某些API可能只接受ASCII编码,这时就需要将Unicode字符串转换为ASCII。JavaScript中的`encodeURIComponent()`和`decodeURIComponent()`函数可以帮助...

    字符串内特殊字符在html_javascript_xml等内使用时的转换

    原来是javascript在提交数据时若遇到”\”会把它当做javascript的特殊字符对待(相当于关键字),从而打乱了javascript代码,导致错误.而我的pathname由于是绝对地址,包含了很多个”\”,所以报错。解决办法是将”\”替换...

    js中unicode转码方法详解.docx

    在JS中,Unicode转码主要涉及到字符串的编码和解码过程。 在JS中,Unicode转码主要涉及到以下几种方法: 1. `encodeURI()` 和 `decodeURI()`: 这两个函数用于对URI(统一资源标识符)进行编码和解码。`encodeURI...

    两种方法解决javascript url post 特殊字符转义 + & #

    在这个例子中,我们使用alert()函数弹出转码后的结果,可以看到特殊字符"-"和"#"被转义成了它们的URL编码形式。 总结来说,当我们在使用JavaScript进行URL传值时,面对URL中的特殊字符,主要可以通过两种方法解决...

    HTML 转码

    HTML转码是一个重要的Web开发概念,它涉及到将HTML实体或特殊字符转化为它们的等价Unicode字符,以便在网页上正确显示。在HTML中,有些字符如"、"&gt;"、"&"等有特殊的含义,如果不进行转码,它们可能会被浏览器解析为...

    JSP中js传递和解析URL参数以及中文转码和解码问题

    在JSP开发中,经常会遇到需要在JavaScript中传递和解析URL参数,以及涉及到中文字符转码和解码的问题。这些操作对于前端开发人员来说是基础技能,但却是构建动态网页和实现前后端交互的重要环节。下面详细介绍一下...

    Ajax传递特殊字符的数据如何解决

    #### 方法二:特殊字符转码 即使设置了正确的Content-Type,对于包含特殊字符的文本仍需小心处理。如果服务器端的接收代码没有正确处理这些字符,就可能导致解析错误。在发送数据前,可以使用JavaScript中的`...

Global site tag (gtag.js) - Google Analytics