我的问题如下:我序列化数据并将它们发送到PlayerPrefs
BitStream bitStream = new BitStream(isTypeSafe);
bitStream.WriteByte(species);
bitStream.WriteInt32(revision);
PlayerPrefs.SetString(species.ToString(), bitStream.ToString());然后我尝试反序列化数据:
BitStream bitStream = new BitStream(isTypeSafe);
bitStream.WriteString(PlayerPrefs.GetString(species.ToString()));
species = bitStream.ReadByte();
revision = bitStream.ReadInt32();但我得到的输出数据不正确。我做错了什么?
发布于 2014-06-20 20:13:21
这里的基本问题是您使用字符串作为二进制数据的存储。这是错误的,因为更改字符串编码可能会破坏您的数据。不幸的是,PlayerPrefs没有提供任何保存/加载二进制数据的方法。因此,解决方案将改为使用文本序列化。
附注:这看起来不正确:
bitStream.WriteString(PlayerPrefs.GetString(species.ToString()));https://stackoverflow.com/questions/24326819
复制相似问题