像javascript一样对as3中的字符进行转义
我在逃避as3中的特殊字符时遇到困难像javascript一样对as3中的字符进行转义,javascript,actionscript-3,utf-8,Javascript,Actionscript 3,Utf 8,我在逃避as3中的特殊字符时遇到困难 trace( escape("who are ü?") ); 返回谁是%20%20%uFFFD%3F 或 返回谁是%20%20%EF%BF%BD%3F 而在javascript中 alert( encodeURIComponent("who are ü?") ); 返回谁是%20%20%C3%BC%3F 及 返回谁是%20%20%FC%3F 如何让as3像javascript一样返回转义特殊字符,有什么建议吗?为什么as3明显窒息了 (这里有一个很好的参
trace( escape("who are ü?") );
返回谁是%20%20%uFFFD%3F
或
返回谁是%20%20%EF%BF%BD%3F
而在javascript中
alert( encodeURIComponent("who are ü?") );
返回谁是%20%20%C3%BC%3F
及
返回谁是%20%20%FC%3F
如何让as3像javascript一样返回转义特殊字符,有什么建议吗?为什么as3明显窒息了
(这里有一个很好的参考:)看起来像是将字符串转义为UTF-16,而Javascript示例将转义为UTF-8。没有定义如何处理非ascii字符,因此从JavaScript 1.5开始就不推荐使用它。您应该改为使用函数,它被定义为UTF-8转义-这在不同的实现中应该是一致的。如果您需要AS行为,我认为Javascript中没有本机函数,但您可以使用提供的函数。虽然我的IDE(intellij)显示、保存和加载特殊字符,但它们保存在1252中。切换到UTF-8解决了这个问题 我从flex 3.0中得到的是:谁是%20%20%FC%3F这不是你想要的吗?你能再检查一下吗?这是一个演示空气应用程序(我正在运行Flex3.0)!不幸的是,我的跟踪语句是“who%20are%20%uFFFD%3F”(使用flex3)。代码点%uFFFD标志告诉您“u”没有正确保存。您对区域设置做了任何更改吗?我相信您正在查看控制台输出。我没有更改区域设置。。。然而,看起来我想要的是兼容utf-8的encodeURIComponent,以实现浏览器兼容性(as3也没有提供给我。我得到了“谁是%20%20%EF%BF%BD%3F”)
alert( encodeURIComponent("who are ü?") );
alert( escape("who are ü?") );