Java提供了一种称为对象序列化的机制,其中一个对象可以表示为一个字节序列。
在谷歌上发现这个。我使用.Net来使用套接字连接发送数据包。我使用Encoding.Default.GetBytes()
。
序列化令人困惑,它与GetBytes的区别是什么?
答案 0 :(得分:2)
不,GetBytes()
只是使用询问的编码将 string
转换为其二进制表示。所以它确实是序列化的,但它非常特定于字符串。
如果要将任何对象序列化为字节,可以使用BinaryFormatter
。有关如何使用BinaryFormatter
序列化对象的详细信息,请参见here。
答案 1 :(得分:1)
在.NET中,您也有序列化。您有二进制序列化,XML序列化和JSON序列化。
通过序列化,您可以将对象转换为另一种格式,以便存储它或通过网络发送它。可以将序列化对象反序列化为对象的实例(如果该类在运行时可用)。
使用GetBytes(),您可以在运行时获得变量的字节表示。没有关于类型的信息。 您可以将字节解释为您想要的任何类型,当然会创建无用的结果。 GetBytes()返回存储在物理内存中的原始字节。