您的位置:首页 > 其它

序列化二进制方法的实现

2015-08-20 16:32 483 查看
序列化方法:

public static byte[] SerializerToByte(object value)
{
try
{
byte[] buffer = null;

//将对象序列化成二进制信息
using (MemoryStream stream = new MemoryStream())
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, value);

buffer = stream.ToArray();
}

return buffer;
}
catch (Exception ex)
{
throw ex;
}
}


需要注意的是,使用这个方法转换成二进信息的话,必须要对这个类型先进行序列化,不然会报错,反序列化也是如此

反序列化:

public static object DeserializeToObject(byte[] buffer)
{
try
{
object value = null;
if (buffer != null && buffer.Length > 0)
{
//将二进制信息反序列化成对象
using (Stream ss = new MemoryStream(buffer))
{
BinaryFormatter formatter = new BinaryFormatter();
value = formatter.Deserialize(ss);
}
}
return value;
}
catch (Exception ex)
{
throw ex;
}
}


调用:

//反序列化
DeserializeToObject(Convert.FromBase64String(类型))
//序列化
Convert.ToBase64String(SerializerToByte(类型))


适用于简单的类型一般都可以实现,只需要记得加入 [Serializable]并且实现序列化的方法即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: