序列化与GetBytes相同吗?

时间:2015-06-23 08:23:17

标签: .net

Java提供了一种称为对象序列化的机制,其中一个对象可以表示为一个字节序列。

在谷歌上发现这个。我使用.Net来使用套接字连接发送数据包。我使用Encoding.Default.GetBytes()

序列化令人困惑,它与GetBytes的区别是什么?

2 个答案:

答案 0 :(得分:2)

不,GetBytes()只是使用询问的编码 string 转换为其二进制表示。所以它确实是序列化的,但它非常特定于字符串。

如果要将任何对象序列化为字节,可以使用BinaryFormatter。有关如何使用BinaryFormatter序列化对象的详细信息,请参见here

答案 1 :(得分:1)

在.NET中,您也有序列化。您有二进制序列化,XML序列化和JSON序列化。

通过序列化,您可以将对象转换为另一种格式,以便存储它或通过网络发送它。可以将序列化对象反序列化为对象的实例(如果该类在运行时可用)。

使用GetBytes(),您可以在运行时获得变量的字节表示。没有关于类型的信息。 您可以将字节解释为您想要的任何类型,当然会创建无用的结果。 GetBytes()返回存储在物理内存中的原始字节。