序列化二进制方法的实现
2015-08-20 16:32
483 查看
序列化方法:
需要注意的是,使用这个方法转换成二进信息的话,必须要对这个类型先进行序列化,不然会报错,反序列化也是如此
反序列化:
调用:
适用于简单的类型一般都可以实现,只需要记得加入 [Serializable]并且实现序列化的方法即可
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]并且实现序列化的方法即可
相关文章推荐
- 在类Unix系统上开始Python3编程入门
- 虚拟化--003 利用vsphere client来开启esxi的ssh功能
- 9. 斐波那契数列
- 虚拟化--002 VMware vSphere 创建虚拟机时SCSI适配器的选择
- 神经网络编程入门
- 暑假-动态规划 III-I - Function Run Fun
- DOM(一)-18-(节点操作-删除节点)
- linux调试工具
- JVM查看命令
- 二叉树的链式存储
- (14)[Xamarin.Android] 异步的网络图片下载
- ios delegate 使用注意 assign,weak
- HA之heartbeat3.0.6安装配置
- static作用整理
- 分数加减法
- 函数作用域和声明提前
- 虚拟化--001 esxi新建vm 3种数据存储磁盘格式
- Web开发之PHP框架(一)-Laravel环境搭建
- 关于cocos2dx编写的游戏由vs2013项目打包成apk文件
- UNIX Tutorial Two_files