在询问"Do certain characters take more bytes than others?"后,我发现在Actionscript / Flex 3中使用套接字连接接收和发送数据时,我需要设置字符编码集。
现在我一直试图找出如何做到这一点,但似乎没有这样的属性可用。这有什么特别的方法吗?
答案 0 :(得分:2)
flash.net.Socket类是二进制输入/输出类。您没有为套接字本身指定编码,因为您对套接字中的数据具有低级访问权限。
您正在寻找的是用于从不同字符集中读取字符串的Socket::readMultiByte方法。
public function readMultiByte(length:uint, charSet:String):String
同样,使用Socket::writeMultiByte来编写特定字符集的字符串。
public function writeMultiByte(value:String, charSet:String):void
答案 1 :(得分:0)
据我所知,Flash仅支持Unicode ...虽然可以选择使用操作系统的代码页System.useCodePage。但这取决于用户的操作系统和语言,除非您确切知道自己在做什么,否则不建议这样做。
至于每个字符使用更少的字节,我理解字母数字字符只使用UTF-8中的一个字节。
干杯...