问"Do certain characters take more bytes than others?"之后,我想通了,我需要设置字符编码集接收,并在ActionScript/Flex的套接字连接3.如何在ActionScript3套接字连接中设置字符编码?
现在,我一直在试图将数据发送到找出如何做到这一点,但似乎没有这样的财产可用。有没有特殊的方法来做到这一点?
问"Do certain characters take more bytes than others?"之后,我想通了,我需要设置字符编码集接收,并在ActionScript/Flex的套接字连接3.如何在ActionScript3套接字连接中设置字符编码?
现在,我一直在试图将数据发送到找出如何做到这一点,但似乎没有这样的财产可用。有没有特殊的方法来做到这一点?
的flash.net.Socket类是一个二进制输入/输出类。您不必为套接字本身指定编码,因为您可以低级别访问套接字中的数据。
您正在寻找的是用于从不同字符集中读取字符串的Socket::readMultiByte方法。
public function readMultiByte(length:uint, charSet:String):String
同样,使用Socket::writeMultiByte来从特定字符集写入字符串。
public function writeMultiByte(value:String, charSet:String):void
据我所知,Flash只支持Unicode ...虽然可以选择使用操作系统的代码页System.useCodePage。但这取决于用户的操作系统和语言,除非您确切知道自己在做什么,否则不推荐。
至于每个字符使用更少的字节,我知道字母数字字符只使用UTF-8中的一个字节。
干杯...
我用的是XMLSocket类(http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/net/XMLSocket.html),我不认为类有这个功能。你认为我应该改为Socket类吗? – Tom 2009-07-01 15:52:34