吾知网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5245|回复: 0
打印 上一主题 下一主题

AS3 处理URL编码转换

[复制链接]
跳转到指定楼层
楼主
发表于 2015-10-30 09:45:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
参考资料:
encodeURI encodeURIComponent escape区别
http://yunzhongxia.iteye.com/blog/1126873
AS3中的encodeURI,encodeURIComponent,decodeURI以及decodeURIComponent
http://bbs.9ria.com/thread-71-1-1.html






把字符串转为URL编码时,会自动把其大部分的非字母数字的字符替换为%十六进制序列。


URL常用地方--路径
最常见的是中文路径,编码URL时,会自动转为%十六进制序列。
而转换解码则用全局函数encodeURI和decodeURI。


var str:String = "中文字符";

var encodeStr:String = encodeURI(str)
var decodeStr:String = decodeURI(encodeStr);
trace(encodeStr);//输出:%E4%B8%AD%E6%96%87%E5%AD%97%E7%AC%A6
trace(decodeStr);//输出:中文字符

var escapeStr:String = escape(str)
var unescapeStr:String = unescape(escapeStr);
trace(escapeStr);//输出:%u4E2D%u6587%u5B57%u7B26
trace(unescapeStr);//输出:中文字符

trace(unescape(encodeStr));//输出:????????????(乱码)
trace(decodeURI(escapeStr));//报错:URIError: Error #1052: 传递给 decodeURI 函数的 URI 无效。


以上测试用例说明,encodeURI、decodeURI 和 escape、unescape 是不可互换的,否则会乱码或报错。


  • 如果要对一个URI全部进行编码,采用encodeURI函数。
  • 如果要对URI中的参数,特别是中文参数、特殊字符进行转移,采用encodeURIComponent函数。
  • escape除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|吾知网 ( 粤ICP备13013563号-1 )

GMT+8, 2024-5-17 12:27 , Processed in 1.107464 second(s), 8 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表