Я использую:
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: обнаружен конец файла».
Это (вероятно), потому что сериализуемый мной класс слишком велик для типа объекта "String" в AS3.
Существует ли безграничный объект для хранения массива символов (или, что еще лучше, бинарный), или мне придется создавать свой собственный класс? (например, с массивом строк)