var nameBytes:ByteArray=new ByteArray();
var name:String='characterName';
nameBytes.writeUTF(name); //byteArray内部实现了,在写字符串时,先写入了字符串所占的Byte总数,再写实体数据
var name1:String=String(nameBytes); //error,连字符串长度信息也一齐解释,就会出错
nameBytes.position=0;
var nameLength:int=nameBytes.readShort(); //先将字符串长度信息取出来
var nameBytes1:ByteArray=new ByteArray();
nameBytes.readBytes(nameBytes1,0,nameLength); //再以上面的字符串长度信息,来截取实体数据
name1=String(nameBytes1); //correct,得到了实体数据,再转化,即可成功
AS3 String to ByteArray,ByteArray to String
关注
打赏