2010-08-03 113 views
0

在服务器端,我有一个对象数组。每个对象有3个整数字段和2个二进制字段。 我已经utf编码的二进制数据和json编码数组&发送到Flex客户端。Flex二进制字符串到ByteArray

在客户端,解码数据,我有一个代表二进制数据的字符串(utf解码)。

现在,我该如何将此字符串转换为ByteArray?或者我该如何读取字符串的每个字节?

回答

0

好吧,我找到了答案!

这不是utf编码二进制数据的好方法。最好的方法似乎是Base64编码。 然后在Flex中使用Base64解码来返回ByteArray。和平的蛋糕! Base64_encode增加了大约33%的开销,这比utf8_encode稍微多点,但更容易处理。

PHP:

echo json_encode (base64_encode ($data)); 

柔性:

//use a serialization filter for your HTTPService to deocde JSON 
var raw:ByteArray = new ByteArray(); 
var dec:Base64Decoder = new Base64Decoder(); 
dec.decode(data); 
raw = dec.toByteArray();