Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.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# 二进制流';238';不包含有效的BinaryHeader_C#_Memory_Bytearray_Memorystream_Binaryformatter - Fatal编程技术网

C# 二进制流';238';不包含有效的BinaryHeader

C# 二进制流';238';不包含有效的BinaryHeader,c#,memory,bytearray,memorystream,binaryformatter,C#,Memory,Bytearray,Memorystream,Binaryformatter,我正在使用以下代码将ByteArray转换为Object: private static Object ByteArrayToObject(byte[] arrBytes) { MemoryStream memStream = new MemoryStream(); BinaryFormatter binForm = new BinaryFormatter(); memStream.Write(arrBytes, 0, arrBytes.Length); memS

我正在使用以下代码将
ByteArray转换为Object

private static Object ByteArrayToObject(byte[] arrBytes)
{
    MemoryStream memStream = new MemoryStream();
    BinaryFormatter binForm = new BinaryFormatter();
    memStream.Write(arrBytes, 0, arrBytes.Length);
    memStream.Seek(0, SeekOrigin.Begin);
    Object obj = (Object)binForm.Deserialize(memStream);
    return obj;
}
突然间,它抛出了错误

二进制流“238”不包含有效的BinaryHeader。可能的 原因是之间的流或对象版本更改无效 序列化和反序列化


我必须做些什么才能摆脱这个错误?

这个字节数组是从哪里来的?如果不是使用
BinaryFormatter
序列化对象的结果,则可以解释问题。输入字节数组是加密的结果。我试着加密一个类的对象,你需要在反序列化它之前解密它,就这么简单。(就我个人而言,无论如何我不会使用.NET二进制序列化,但那是另一回事。)解密也给了我一个字节数组,我必须从这个数组中取回对象,所以你在解密的字节数组中调用这个代码。(或者更好,跳过编写部分,用
新内存流(arrBytes)
创建流,但基本上还是一样的…)如果这对您不起作用,请提供一个简短但完整的程序来说明问题-可能是解密失败了。