0

这是我的第一个问题,所以不要严格判断。我有一个从 php 服务器到 as3(flash) 客户端的对象。该对象是 AMF 编码的,所以我将服务器响应写入 ByteArray:

var ba:ByteArray = new ByteArray();
ba.writeUTFBytes( rawData );

而不是我从 ByteArray 读取对象:

ba.position = 0;
var response:Object = ba.readObject();

部分对象包含这样的数据:

{
 'money' : 900
}

当从 ByteArray 读取对象时,我得到一个七位数的数字 ~ 1824344 而不是 900。但是当我得到表单服务器 String '900' 或 int 值等于 100 - 数据读取正确。

有人遇到过这样的问题吗?

4

1 回答 1

0

您必须以与您写作相同的方式阅读。如果你用 写东西writeUTFBytes(),你必须用 读它readUTFBytes()

在这种情况下,您应该使用writeObject()and,readObject()因为您正在编写纯 Object 而不是 String。

于 2012-07-19T13:03:25.990 回答