在服务器端,我有一个对象数组。每个对象有3个整数字段和2个二进制字段。 我已经编码了二进制数据,json编码了数组&将它发送到Flex客户端。
在客户端,解码数据,我有一个表示二进制数据的字符串(utf已解码)。
现在,我如何将此String转换为ByteArray?或者我如何读取字符串的每个字节?
答案 0 :(得分: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();