使用C#反序列化字节数组

时间:2014-04-25 10:35:54

标签: c# deserialization binary-data

我这里有用于序列化或二进制代码的代码,现在我需要做的是反序列化二进制代码,但我不知道如何反序列化二进制代码。 谁能帮我吗?感谢

byte[] bytes;
string[] tempDataColumnValue = null;
List<string> stringArray = new List<string>();
int pointNum = 1;
string x = "25000";
string y = "-36000";
stringArray.Add(String.Format("{0},{1},{2}", pointNum, x, y));
tempDataColumnValue = stringArray.ToArray();
using (MemoryStream stream = new MemoryStream())
{
    BinaryFormatter bf = new BinaryFormatter();
    bf.Serialize(stream, tempDataColumnValue);
    bytes = stream.ToArray();
}

string insertSql = "INSERT INTO [DefMngDBReportTemp] ([AuthorityKey],[DBReport],[TempData]) VALUES ('0qfnux45blxwbkjx2iah33ym','一筆印刷図','" + bytes.ToString() + "')";
string connstr = "Password=sonicweb;Persist Security Info=True;User ID=sa;Initial Catalog=AigsDemo50;Data Source=localhost\\SQLEXPRESS";
SqlConnection sqlconn = new SqlConnection(connstr);
sqlconn.Open();

SqlCommand sqlquery = new SqlCommand(insertSql, sqlconn);

2 个答案:

答案 0 :(得分:1)

试用此代码:

BinaryFormatter bf = new BinaryFormatter();
var obj = bf.Deserialize(bytes) as String[];

答案 1 :(得分:0)

您也可以使用BinaryFormatter类 您可以查看文档there