Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将从Java序列化为C的BigInteger读取#_C#_Java_Serialization - Fatal编程技术网

C# 将从Java序列化为C的BigInteger读取#

C# 将从Java序列化为C的BigInteger读取#,c#,java,serialization,C#,Java,Serialization,我使用ObjectOutputStream中的writeObject方法将一个biginger序列化为一个文件 我可以用C#反序列化它吗?我尝试使用vjslib的java.math和java.io类,但我遇到了一个异常: InvalidClassException 该类与cl=java.lang.Number的持久化对象的类不匹配:uu SUID=-87424488246522078965,getSUID(cl)=3166984097235214156 有什么想法吗?您可以从Java控制序列化步

我使用
ObjectOutputStream
中的
writeObject
方法将一个
biginger
序列化为一个文件

我可以用C#反序列化它吗?我尝试使用
vjslib
java.math
java.io
类,但我遇到了一个异常:

InvalidClassException 该类与cl=java.lang.Number的持久化对象的类不匹配:uu SUID=-87424488246522078965,getSUID(cl)=3166984097235214156


有什么想法吗?

您可以从Java控制序列化步骤吗

如果是这样,我建议将字节数组序列化为二进制或base64,并从序列化结构中读取字节数组


然后您可以将字节数组传递给
System.Numerics.BigInteger
构造函数。

如果您不介意丑陋的黑客攻击:我认为最简单(尽管不是最有效)的方法是在Java端将其作为ASCII字符串写入,然后在C端解析该字符串,不要使用二进制反序列化。

我建议不要为此使用序列化,因为
biginger
的两个版本不兼容-它们有不同的版本ID

您应该以其他方式写出对象,可能使用
biginger.toByteArray


阅读这篇文章可能对您也很有启发

您是如何尝试使用vjslib对其进行反序列化的?请举个例子