事实上amfext主要提供了两个函数,一个是amf_encode,一个是amf_decode,而ByteArray中提供的IDataOutput和IDataInput提供的readObject和writeObject是AMF编码的。而amfext的编码在第一个byte指定了当前模块的类型,而ByteArray的实现并没有这个定义,因此需要将它给删除掉。所以ActionScript里需要var bytes:ByteArray = new ByteArray(); bytes.objectEncoding = ObjectEncoding.AMF3; bytes.writeByte( 0x11 ); bytes.writeObject({ myString: "Hello World" });
来读数据,用var bytes:ByteArray = new ByteArray(); bytes.objectEncoding = ObjectEncoding.AMF3; trace( bin2hex( evt.target.data )); bytes.writeUTFBytes( evt.target.data ); bytes.position = 0; bytes.readByte(); var obj:Object = bytes.readObject();
本文介绍了使用ActionScript进行AMF3编码的过程,包括如何利用ByteArray类的readObject和writeObject方法进行对象的序列化和反序列化,并给出了具体的代码示例。
135

被折叠的 条评论
为什么被折叠?



