AS1/2 escape()和AS3 escape() 是不同

本文探讨了ActionScript 3 (AS3) 和 JavaScript 中 escape 函数与 encodeURI 及 encodeURIComponent 的不同表现,特别是在双字节字符处理上的区别。通过示例展示了不同环境下 URL 编码的具体效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在英文開發環境,未必容易察覺,因為AS1/2 escape()和AS3 escape() return相同結果,但是在double-byte文字,AS3 escape()終於跟JavaScript的做法相同,如果你要以前AS1/2的格式,你要用encodeURI()或者encodeURIComponent()。

ActionScript 1/2

var a:String = "香港:";
trace(escape(a)); // %E9%A6%99%E6%B8%AF%3A

ActionScript 3

var a:String = "香港:";
trace(escape(a)); // %u9999%u6E2F%3A
trace(encodeURI(a)); // %E9%A6%99%E6%B8%AF:
trace(encodeURIComponent(a)); // %E9%A6%99%E6%B8%AF%3A

JavaScript

var a = "香港:";
alert(escape(a)); // %u9999%u6E2F%3A
alert(encodeURI(a)); // %E9%A6%99%E6%B8%AF:
alert(encodeURIComponent(a)); // %E9%A6%99%E6%B8%AF%3A



escape 函数
escape(expression:String) : String

将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,所有非字母数字的字符都替换为 % 十六进制序列。当用于 URL 编码的字符串中时,百分号 (%) 用于引入转义符,不与模运算符 (%) 等效。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值