将字符串字节反序列化为BitStream
本文关键字:BitStream 反序列化 字节 字符串 | 更新日期: 2023-09-27 18:09:45
问题如下:我序列化数据并将它们发送给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();
但是输出我得到了不正确的数据。我做错了什么?
这里的基本问题是使用字符串作为二进制数据的存储。这是错误的,因为更改字符串编码可能会破坏您的数据。不幸的是,PlayerPrefs
不提供任何保存/加载二进制数据的方法。因此,解决方案是使用文本序列化。
注:这看起来不正确:
bitStream.WriteString(PlayerPrefs.GetString(species.ToString()));