`
CshBBrain
  • 浏览: 638269 次
  • 性别: Icon_minigender_1
  • 来自: 成都
博客专栏
B7d9bf34-126e-301f-819e-81f2615b5a2a
开源WebSocket服务...
浏览量:142155
Group-logo
HTML5移动开发
浏览量:135509
社区版块
存档分类
最新评论

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& gt;');</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

 

 

根据说明 我需要的是encodeURIComponent函数

--------------------------------------------------------------------------------------------------------------

据上所述
1、浏览器,表单发的URL是和页面编码一致的
2、浏览器中用XMLHTTP发送的URL是和浏览器默认设置一致的
3、请求 URL 与服务器一致则无乱码出现

 

PS:  推荐使用 encodeURIComponent(), 用它编码过的 URL 与 PHP urlencode() 函数执行结果一致,交互最为便捷.

分享到:
评论

相关推荐

    javascript base64编码解码函数

    javascript版本的 base64解码和编码函数。

    JavaScript版GBK编码、解码函数示例

    摘要:脚本资源,Ajax/JavaScript,Js编码,解码 JavaScript版GBK编码、解码函数演示,在你选择使用GBK编码、用POST或GET方式发送信息到服务器的时候,注意过浏览器发送的编码是什么样的吗?碰到过编码错误的情况吗?此...

    javascript 对url编码 解码

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponen

    js编码、解码函数介绍及其使用示例

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,另外还有相对应的解码函数,本文对编码及解决函数坐下介绍,感兴趣的朋友可以参考下

    JavaScript中的编码和解码函数

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断...

    对ASP_UTF8_下(JS)中文乱码的解码函数

    对ASP_UTF8_下(JS)中文乱码的解码函数 先用:bm()编码 在。request,或 enctype="multipart/form-data"类.FORM()获取时用JM()解码。

    对字符串进行HTML编码和解码的JavaScript函数

    对字符串进行HTML编码和解码的JS函数,记下了方便以后找 :)

    JavaScript中各种编码解码函数的区别和注意事项

    JavaScript 中encodeURI,encodeURIComponent与escape的区别和注

    javascript url几种编码方式详解

    2. encodeURI()是javascript中真正用来对URL编码的函数。编码整个URL地址,但对特殊含义的符号”;/?:@&=+$,#”,也不进行编码。对应的解码函数是decodeURI()。 3. encodeURIComponent()能编码”;/?:@&=+$,#”这些...

    base64-js:纯JS中的Base64编码解码

    base64-js在纯JS中执行基本的base64编码/解码。 许多浏览器已经具有base64编码/解码功能,但是它用于文本数据,而不是通用二进制数据。 有时在浏览器中对二进制数据进行编码/解码很有用,这就是该模块的作用。 ...

    ASP中进行HTML数据及JS数据编码函数

    第二个函数把JS数据同样是换成转义字符, 同样避开了JS关键词等字符的转换, 不管网页是什么编码它都不会乱码. 废话少说, 看下面的代码. 代码如下: Function htmlentities(str) Dim a,i,char For i = 1 to Len(str) ...

    unicode编码与解码

    Javascript中实现unicode编码与解码功能,两个小测试函数。

    js中escape对应的C#解码函数 UrlDecode

    js中escape对应的C#解码函数 System.Web.HttpUtility.UrlDecode(s) //注意编码 需要注意的几点: 1、HttpUtility.UrlEncode,HttpUtility.UrlDecode是静态方法,而Server.UrlEncode,Server.UrlDecode是实例方法。...

    js字符编码函数区别分析

    js对文字编码有3个函数: escape,encodeURI,encodeURIComponent, 对应的解码函数:unescape,decodeURI,decodeURIComponent

    用JavaScript实现PHP的urldecode/urldecode函数

    这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。 在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决

    js常用系统函数用法实例分析

    本文实例讲述了js常用系统函数用法。分享给大家供大家参考。 具体代码如下: 代码如下:&lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; [removed] //1. escape()函数,把字符串转成各计算机平台通用的...

    Javascript下的urlencode编码解码方法附decodeURIComponent

    而相信碰到过此问题的朋友应该都有所了解,目前网络上流行一些js下的自定义函数去解决这个问题,如说vbscript(URLDecode())、javascript(UrlDecode())等。而这两个函数,都无法很好的与asp(Server.Ur

    V8引擎脚本演示jother解码

    jother编码:jother编码是在javascript语言中,利用少量特定字符构造精简的匿名函数对与字符串的编码方式。我理解是,javascript中使用少量特定字符对匿名函数进行编码加密。其中少量的特定字符包括:“+”、“!”...

Global site tag (gtag.js) - Google Analytics