Flash中的ByteArray对象,可以看成是一段内存,而该对象的endian属性决定着将外部数据写入内存的字节序。
以写整形为例,如果ByteArray对象的endian设置为默认的bigEndian,即大端,那么在写入一个4字节的整型时,它将会先把数据的最高有效位写入到最低端,最后,数据的最低有效位会被写入最高端。
所谓最高端与最低端在ByteArray对象中可以用它的position属性来表示,position大的字节就是大端的字节。
而最低和最高有效位是对于数据而言的。
var len:uint = 0xFF;
var id:uint = 1;
var uid:uint = 12;
var head:ByteArray = new ByteArray();
//head.endian = Endian.LITTLE_ENDIAN;
head.writeUnsignedInt(len);
head.writeUnsignedInt(id);
head.writeUnsignedInt(uid);
000000ff 00000001 0000000c
去掉注释后的输出则为:
ff000000 01000000 0c000000