我正在使用:
import flash.utils.ByteArray;
import mx.utils.Base64Encoder;
import mx.utils.Base64Decoder;
.
.
.
public static function serializeToString(value:Object):String{
if(value==null){
throw new Error("null isn't a legal serialization candidate");
}
var bytes:ByteArray = new ByteArray();
bytes.writeObject(value);
bytes.position = 0;
var be:Base64Encoder = new Base64Encoder();
be.encode(bytes.readUTFBytes(bytes.length));
return be.drain();
}
public static function deSerializeFromString(value:String):Object{
var dec:Base64Decoder=new Base64Decoder();
dec.decode(value);
var result:ByteArray=dec.drain();
result.position=0;
return result.readObject();
}
但我一直收到“错误#2030:遇到文件结尾。”
这是(可能)因为我正在序列化的类对于AS3中的“String”对象类型来说太大了。
是否有一个无限的对象存储一个字符数组(或更好的二进制),或者我将不得不自己创建一个类? (就像一个有字符串数组的那个)