遇到一个需要用Javascript将文字转换成asp中的urlencode编码
网上查到的全都是escape,和需要的编码不是一回事,好不容易找到的结果 保存下来以备以后使用
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,UrlEncode编码通用类
下面是我根据高人的代码改写的JavaScript版的urldecode函数,参考的链接在开头提到的文章中有,就不一一列举了。和之前的urlencode函数一样,只实现了utf-8版的。 1、urlencode 使用方法: urlencode(str); ...
关于在ASP(Server.UrlEncode)、PHP(urlencode())函数编码结果,或是经过asp、php等动态语言直接写入COOKIES的中文字符,用JS读取的时候,都会碰到一个编码的问题,那就是最终字符串被urlencode编码了,而又时有...
用js自定义函数写的实现url加密解密的实现代码,需要的朋友可以参考下
1.javascript基础-基本语法 变量作用域 匿名函数 2.javascript基础-基本语法 js面向对象 闭包 数组 3.javascript Dom 获取元素id 动态注册事件 window对象 4....使用正则表达式 6.javascript Dom urlencode 递归
结论:rawurlencode遵守是94年国际标准备忘录RFC 1738,urlencode实现的是传统做法,和上者的主要区别是对空格的转义是’+’而不是’ ′javascript的encodeURL也是94年标准, 而javascript的escape是另一种用”%xxx”...
这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。 在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决
NULL 博文链接:https://icecream0.iteye.com/blog/854682
思路:将中文编码改成UTF-8编码格式,传到前台,再用JS将其解码. 具体做法:将设置cookie的相关代码改为: ... 您可能感兴趣的文章:兼容最新firefox、chrome和IE的javascript图片预览实现代码javascript event在FF和I
iconv-urlencode 用于编码和解码来自/到每种可能编码的 url 编码字符串的节点包这个包使用iconv-lite进行不同字符集的编码。... 将 url 中使用的 utf-7 编码的字符串转换为本地 utf-8 var conv = require ( 'iconv-
//配合JavaScript的ajaxObject函数, 对字串进行转码. function ajax_encode($str){ $patern = array("/%/","/=/","/&/"); // % 必须是第一个项, 替换是按项的顺序进行的. $rp = array("%","&","="); return preg...
代码如下://把编码转换成 gb2312编码 function UrlEncode(str) { var i, c, ret=””, strSpecial=”!\”#$%&'()*+,/:;<=>?@[\]^`{|}~%”; for(i = 0; i < str.length; i++) { //alert(...
使用服务器端的urlEncode函数编码的URL,与使用客户端javascript的 encodeURI函数编码的URL,结果就不一样。 javaScript中的编码方法: escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、...
11.4.1 编码字符串——urlencode 181 11.4.2 解码字符串——urldecode 181 11.5 小结 182 第12章 PHP与JavaScript交互 183 12.1 JavaScript简介 183 12.2 JavaScript的数据类型 183 12.3 JavaScript程序设计基础 184...
有时候可能会有这么一个需求,我在后台使用: 代码如下: HttpUtility.UrlEncode(str, System.Text.Encoding.UTF8); 将Url进行编码,前台JS需要使用这段内容,这时候就需要解码了: 代码 代码如下: /** * Url编码 **/ ...
在非英文字符集的页面上,如果使用Ajax方式进行数据...都先用escape进行编码,接收的一端用unescape进行解码即可保证Javascript和Asp数据传递过程中不会出现乱码! 在后端是PHP程序的情况下,保持前端Javascript和PH
对象代码将对象转换为url编码的查询字符串格式。 以正常的php方式将数据从angularjs发布到php很有用。用法待定。