温州网站建设wzwmwl,网站欣赏与创建网页,个人养老保险金,wordpress滑动验证在将自定义对象或者数组等这样的数据存储到数据库时往往需要转换成二进制字节#xff0c;尤其是在一些O/RM数据库框架中#xff0c;下面是转换的函数#xff0c;一个是将对象转换成二进制字节数组#xff0c;另一个是将从数据库中读取的二进制流转换成程序中的对象。
这里…在将自定义对象或者数组等这样的数据存储到数据库时往往需要转换成二进制字节尤其是在一些O/RM数据库框架中下面是转换的函数一个是将对象转换成二进制字节数组另一个是将从数据库中读取的二进制流转换成程序中的对象。
这里参考的资源来源
C#序列化数据对象。它是将对象先转换成字节数组然后再转换成Base64字符串了字符串也可以存储到数据库中但是不如直接将字节数组转换成Blob数据库对象简单 using System; using System.Collections.Generic; using System.Linq; using System.Text; //引入三个命名空间 using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.IO; namespace Logistics { public class SerializeObjectToString { //将Object类型对象(注必须是可序列化的对象)转换为二进制序列字符串 public string SerializeObject(object obj) { IFormatter formatter new BinaryFormatter(); string result string.Empty; using (MemoryStream stream new MemoryStream()) { formatter.Serialize(stream, obj); byte[] byt new byte[stream.Length]; byt stream.ToArray(); //result Encoding.UTF8.GetString(byt, 0, byt.Length); result Convert.ToBase64String(byt); stream.Flush(); } return result; } //将二进制序列字符串转换为Object类型对象 public object DeserializeObject(string str) { IFormatter formatter new BinaryFormatter(); //byte[] byt Encoding.UTF8.GetBytes(str); byte[] byt Convert.FromBase64String(str); object obj null; using (Stream stream new MemoryStream(byt, 0, byt.Length)) { obj formatter.Deserialize(stream); } return obj; } } } 下面是直接转换成字节的函数 using System; using System.Collections.Generic; using System.Linq; using System.Text; //引入三个命名空间 using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.IO; namespace Logistics { public class SerializeObjectToString { //将Object类型对象(注必须是可序列化的对象)转换为二进制序列字符串 public byte[] SerializeObject(object obj) { IFormatter formatter new BinaryFormatter(); byte[] result null; using (MemoryStream stream new MemoryStream()) { formatter.Serialize(stream, obj); byte[] byt new byte[stream.Length]; byt stream.ToArray(); resultbyt; stream.Flush(); } return result; } //将二进制序列字符串转换为Object类型对象 public object DeserializeObject(byte[] bt) { IFormatter formatter new BinaryFormatter(); object obj null; using (Stream stream new MemoryStream(bt, 0, bt.Length)) { obj formatter.Deserialize(stream); } return obj; } } }