Serialization .NET与Java序列化/反序列化的兼容性

Serialization .NET与Java序列化/反序列化的兼容性,serialization,Serialization,在.NET中序列化对象,然后在Java中反序列化时,是否有任何兼容性问题需要注意 在java中反序列化一个已在.NET中序列化的对象时,我遇到了一些问题 以下是详细的问题说明: 在.NET平台中,我有一个cookie。 1.Cookie是序列化的 2.然后使用三重DES算法对其进行加密。 3.将其发送到Java应用程序 在Java平台中 1.使用三重DES解密cookie,这会产生一些字节 2.使用以下命令反序列化字节 新建ObjectInputStream(新建ByteArrayInputSt

在.NET中序列化对象,然后在Java中反序列化时,是否有任何兼容性问题需要注意

在java中反序列化一个已在.NET中序列化的对象时,我遇到了一些问题

以下是详细的问题说明:

在.NET平台中,我有一个cookie。 1.Cookie是序列化的 2.然后使用三重DES算法对其进行加密。 3.将其发送到Java应用程序

在Java平台中 1.使用三重DES解密cookie,这会产生一些字节 2.使用以下命令反序列化字节

新建ObjectInputStream(新建ByteArrayInputStream(字节[]decryptedCookie)).readObject()

我得到的异常堆栈跟踪是: java.io.StreamCorruptedException:无效的流头:2F774555 位于java.io.ObjectInputStream.readStreamHeader(未知源)
位于java.io.ObjectInputStream。(未知源)

如果用xml进行序列化,那么在java中反序列化就不会遇到任何问题,因为更糟糕的是,你必须编写自己的代码来重建对象。

序列化程序为.Net和java提供可互操作的序列化。

java和.Net序列化为二进制的方式不同。 一方如何知道另一方的对象,例如.Net将有字典和Java映射?(加上字符串的b进制表示可能不同


您必须使用一些既能理解又能编写代码的数据格式来进行对象映射。因此,上面的答案提到了XML和WOX。我也曾与公司内部的产品部门合作。

序列化为什么?字节?XML?ryan说了什么。您的代码看起来像什么?这里没有足够的信息来回答您的问题。ser是怎样的用xml序列化不同于在.NET中序列化字符串?最终重要的是我如何用java反序列化。不是吗?我理解的是ObjectInputStream是用java反序列化的唯一方法,在这里不起作用。请澄清一下??我从来没有用java反序列化过,我所说的是,如果你有您的对象,您必须编写一些代码来解析XML并用Java构建您的对象这是否意味着C#/.NET和Java必须使用WOX序列化程序才能兼容?是否没有其他选项?我知道的唯一其他选项是自己在.NET或Java上处理序列化/反序列化以进行复制另一个平台的格式。这就是WOX项目产生的全部原因。更新:JSON序列化自我的原始帖子以来已成为一种流行的跨平台序列化机制。它是一种相当紧凑的文本表示,但没有二进制格式那么紧凑。嗨,Eric,可以在你自己的。这怎么可能?@Aada:当然,你可以编写你自己的跨平台序列化程序。这不是一件小事。