我有一个byte[]
,我需要反序列化它。使用BinaryReader反序列化失败
我写了这个代码
using(MemodyStream stream = new MemoryStream(byteArray)
{
using(BinaryReader reader = new BinaryReader(stream))
{
Person p = new Person();
p.id = reader.ReadString();
p.age = reader.ReadInt32();
}
}
但我不明白为什么我看到BinaryReader
返回0每次=>和byteArray
不包含0
哪里是我的错?
如何以另一种方式做到这一点?
添加..
在我写这篇文章的数据以相同的顺序
using(BinaryWriter w = new BinaryWriter(stream))
{
w.Write(person.id);
w.Write(person.age);
}
你是怎么写'byteArray'的? “ReadString”和“ReadInt32”要求数据以某种方式进行格式化......特别是“ReadString”在格式化方面非常特别,并且BinaryWriter之外的其他内容不可能格式化这样的数据。 – xanatos
添加了作家 – Yanshof
作家是从其他应用程序完成的(使用C++写的) – Yanshof