BinaryWriter 和 BinaryFormatter.Serialize 的区别?
Difference between BinaryWriter and BinaryFormatter.Serialize?
我是对象序列化的新手,在我学习如何使用 BinaryFormatter
读取和写入文件(反序列化和序列化)的过程中,我遇到了 BinaryReader
和BinaryWriter
,这似乎在做同样的事情。
BinaryFormatter.Serialize()
和 BinaryWriter
之间有什么细微差别吗?或者 BinaryWriter
只是一种更紧凑的方式来执行与 BinaryFormatter.Serialize()
相同的操作?
BinaryWriter
和 BinaryFormatter
是两个不同的东西。
BinaryFormatter
用于序列化。它可以帮助您将 C# 对象映射到二进制表示形式,您可以将其写入文件、网络流等。
但是BinaryWriter
不能帮助您将C# 对象映射到二进制数据。它只是让您能够写入二进制数据(顾名思义)。所以你给它原始类型,比如 int,它把它转换成二进制并写入。当你需要读取它时,你必须使用 BinaryReader
并且你必须以某种方式知道你必须读取一个 int。所以你必须自己以某种方式序列化你的数据。
你可以说 BinaryFormatter
使用 BinaryWriter
来写入二进制数据,但它会做很多其他工作来自动序列化和反序列化你的对象。
BinaryWriter
用于将原始类型以二进制形式写入流,支持以特定编码写入字符串。 BinaryFromatter
负责将整个对象或连接对象的图形序列化为二进制格式。所以,我想你可以说 BinaryWriter
是 BinaryFormatter
.
之类的更基本的形式
我在这里得到了这个信息:BinaryWriter & BinaryFormatter
我是对象序列化的新手,在我学习如何使用 BinaryFormatter
读取和写入文件(反序列化和序列化)的过程中,我遇到了 BinaryReader
和BinaryWriter
,这似乎在做同样的事情。
BinaryFormatter.Serialize()
和 BinaryWriter
之间有什么细微差别吗?或者 BinaryWriter
只是一种更紧凑的方式来执行与 BinaryFormatter.Serialize()
相同的操作?
BinaryWriter
和 BinaryFormatter
是两个不同的东西。
BinaryFormatter
用于序列化。它可以帮助您将 C# 对象映射到二进制表示形式,您可以将其写入文件、网络流等。
但是BinaryWriter
不能帮助您将C# 对象映射到二进制数据。它只是让您能够写入二进制数据(顾名思义)。所以你给它原始类型,比如 int,它把它转换成二进制并写入。当你需要读取它时,你必须使用 BinaryReader
并且你必须以某种方式知道你必须读取一个 int。所以你必须自己以某种方式序列化你的数据。
你可以说 BinaryFormatter
使用 BinaryWriter
来写入二进制数据,但它会做很多其他工作来自动序列化和反序列化你的对象。
BinaryWriter
用于将原始类型以二进制形式写入流,支持以特定编码写入字符串。 BinaryFromatter
负责将整个对象或连接对象的图形序列化为二进制格式。所以,我想你可以说 BinaryWriter
是 BinaryFormatter
.
我在这里得到了这个信息:BinaryWriter & BinaryFormatter