c#反序列化c++二进制文件?
BinaryFormatter序列化生成的文件有个头标记00 01 00 00 FF FF FF FF……01 00 00 00 后面就是数据了。c++是没有标记的,一开始就是数据,请问怎么解决?
BinaryFormatter b = new BinaryFormatter(); //这句会报出输入流是无效的二进制格式。开始内容(以字节为单位)是: 8B-46-00-00-06-D0-C2-C8-C8-B3-A7-CA-3A-46-52-03-64
b.Deserialize(fileStream);
不够可以在加分!!
------解决方案--------------------BinaryFormatter 序列化后,会吧类型信息也保存进去,用于反序列化。
读取其它二进制文件,你可以读到Byte[]中,再自己解释。使用BitConverter
BitConverter 类
http://msdn.microsoft.com/zh-cn/library/vstudio/system.bitconverter.aspx
------解决方案--------------------http://www.cnblogs.com/janic716/archive/2012/01/03/janic716.html