View Code
 1 using System;
 2 using System.IO;
 3 using System.Runtime.Serialization.Formatters.Binary;  
 4  
 5   
 6 namespace Utils
 7 {
 8     public class Serialized
 9     {
10 
11         /// <summary>
12         /// 对象序列化成字符串
13         /// </summary>
14         /// <param name="obj"></param>
15         /// <returns></returns>
16         public static string Serialize(object obj)
17         {
18             if (obj == nullreturn null
19 
20             string serialize = string.Empty;
21 
22             using (MemoryStream mStream = new MemoryStream())
23             {
24                 BinaryFormatter bFormat = new BinaryFormatter();
25 
26                 bFormat.Serialize(mStream, obj);
27 
28                 byte[] bytes = mStream.ToArray();
29 
30                 serialize = Convert.ToBase64String(bytes);
31             }
32 
33             return serialize;
34         }
35 
36         /// <summary>
37         ///字符串反序列化成对象
38         /// </summary>
39         /// <param name="serialize"></param>
40         /// <returns></returns>
41         public static object Deserialize(string serialize)
42         {
43             if (string.IsNullOrEmpty(serialize)) { return null; }
44 
45             object obj = new object();
46 
47             byte[] bytes =Convert.FromBase64String(serialize);
48 
49             using (MemoryStream mStream = new MemoryStream(bytes))
50             {
51                 BinaryFormatter bFormat = new BinaryFormatter();
52 
53                 mStream.Seek(0, SeekOrigin.Begin);
54 
55                 obj = (object)bFormat.Deserialize(mStream);
56             }
57 
58             return obj;
59         }
60     }
61 }
posted on 2012-05-10 16:34  小草原  阅读(428)  评论(0编辑  收藏  举报