2010-08-03 55 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();