[]加载解析ByteArray问题

flash as端代码:>>>
var byts:ByteArray = new ByteArray();
byts.writeByte(10);
byts.writeInt(20);
byts.writeInt(200);
byts.writeInt(150);
var file:File = File.desktopDirectory.resolvePath("byarr.byte");
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeBytes(byts);
stream.close();
保存为byarr.byte文件后用layaAir加载解析:
var loader:Loader = new Loader();
loader.on(Event.COMPLETE, this, loadEnd);
loader.load("atlas/byarr.byte",Loader.BUFFER);
private function loadEnd(data:*):void
{
if (data is ArrayBuffer)
{
var byts:Byte = new Byte(data);
byts.pos = 0;
var fr:int = byts.getByte();
var a:int = byts.getInt32();
alert(fr);//这个值正常
alert(a);//这个值不正常,后面再读取都不正常了
}
}

18688961270

赞同来自:

设置一下byts.endian = Byte.BIG_ENDIAN;即可

要回复问题请先

商务合作
商务合作