2019独角兽企业重金招聘Python工程师标准>>>

之所以序列化为base64 字符串 方便传输,可存储在本地 也可以是服务器

 public class Serializer{private Serializer() { }public static string Serialize<T>(T obj){try{IFormatter formatter = new BinaryFormatter();MemoryStream stream = new MemoryStream();formatter.Serialize(stream, obj);stream.Position = 0;byte[] buffer = new byte[stream.Length];stream.Read(buffer, 0, buffer.Length);stream.Flush();stream.Close();return Convert.ToBase64String(buffer);}catch (Exception ex){Debug.LogError(" Serialize error   " + ex.Message);return null;}}public static T Deserialize<T>(string str){T obj = default(T);try{IFormatter formatter = new BinaryFormatter();byte[] buffer = Convert.FromBase64String(str);MemoryStream stream = new MemoryStream(buffer);obj = (T)formatter.Deserialize(stream);stream.Flush();stream.Close();}catch (Exception ex){Debug.LogError(" Serialize error   " + ex.Message);return obj;}return obj;}//将一组array 对象 序列化为 基于base64的存储stringpublic static string SerializeMulti<T>(IEnumerable objs){string ser_str = "";foreach (T data in objs){string str = Serialize<T>(data);ser_str += str + SPLIT_FLAG_BASE64;}return ser_str;}//从 字符串 反序列化出对象数组public static ArrayList DeserializeMulti<T>(string ser_str) where T : new(){ArrayList ret = new ArrayList();if (string.IsNullOrEmpty(ser_str)){return ret;}string[] strs = ser_str.Split(SPLIT_FLAG_BASE64);if (strs.Length <= 0) return ret;foreach (string s in strs){if (string.IsNullOrEmpty(s)) continue;var obj = Deserialize<T>(s);ret.Add(obj);}return ret;}public const char SPLIT_FLAG_BASE64 = (char)111;//base64 生成的间隔标识符数值 只要不是base64 生成的char 都可以当做间隔符}

转载于:https://my.oschina.net/kkkkkkkkkkkkk/blog/1499345

C#序列化反序列化对象为base64字符串相关推荐

  1. java字符串序列化_java对象序列化为字符串

    1 场景 java对象某些时候,需要序列化成字符串存储在数据库中,需要的时候,再将字符串反序列化为java对象. 如使用shiro缓存分布式session,需要将session对象序列化成字符串存储在 ...

  2. 【Groovy】json 序列化 ( 类对象转为 json 字符串 | 使用 JsonBuilder 进行转换 | 使用 JsonOutput 进行转换 | 将 json 字符串格式化输出 )

    文章目录 一.Groovy 对象转为 json 字符串 ( 使用 JsonBuilder 进行转换 ) 二.使用 JsonOutput 将指定类型对象转为 json 字符串 三.将 json 字符串格 ...

  3. 序列化之对象,字符串,byte数组,XML之间的转换(一)

    工作一年多了,越来越感到自己不能这样一直下去,在最好的青春里面却已经死了.被时间消磨了意志,被工作杀死了精神.我想,我只要活着,我就要去不断的要求自己,不断的去追求更高的山峰. 放眼四周,有趣的灵魂越 ...

  4. 用 XStream 序列化/反序列化 XML 为 Java 对象(实例)

    用 XStream 序列化/反序列化 XML 为 Java 对象(实例) Posted on 2007-06-05 19:06 Stephen Wong 阅读(1224) 评论(0)  编辑 收藏 网 ...

  5. Java19-day10【标准输入输出流、字节字符打印流、对象序列化-反序列化流、serialVersionUIDtransient、Properties】

    视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...

  6. JAVA使用ByteArrayOutputStream、ByteArrayInputStream将对象序列化反序列化,通过JAVA socket实现对象在网络中传输

    1.序列化和反序列化: 序列化是对象(类的实例)转换成字节数组或者字符串通过网络传输或者存储到本地文件.反序列化:就是将字节数组或字符串在转换成对象实例的过程. (因为在网络中传输或者写本地文件,是不 ...

  7. Web前台传对象字符串到后台并让后台反序列化对象字符串的方法(ASP.NET) json对象和字符串的转换

    从零开始做了两个月多一点的.NET开发,期间经常遇到需要从Web前台传数据给后台处理的情况.比如下面(用了jQuery的Ajax Post),这里为了演示方便没有对参数进行encodeURICompo ...

  8. 反序列化对象列表发生异常_Apache Thrift系列详解:序列化机制

    前言 Thrift支持二进制,压缩格式,以及json格式数据的序列化和反序列化.开发人员可以更加灵活的选择协议的具体形式.协议是可自由扩展的,新版本的协议,完全兼容老的版本! 正文 数据交换格式简介 ...

  9. Java对象序列化乱码6_对象序列化成字符串乱码解决

    问题描述: 将一个对象序列化成字符串后,字符串是乱码的,并且反序列化报错. 代码如下: import com.alibaba.fastjson.JSONObject; import org.sprin ...

最新文章

  1. 技术13期:一文读懂Flink的流式处理及窗口理解
  2. 人人都可以做深度学习应用:入门篇
  3. 浅谈Android中Lifecycle
  4. 物化视图是否可以exp导出_物化视图导出导入可能导致物化视图日志的失效
  5. 集成JavaFX和Swing
  6. mysql 导出所有表_Mysql导出(多张表)表结构及表数据 mysqldump用法
  7. 【大事化小,小事化无】的意思和解释
  8. day15-CSS内容补充之overflow
  9. java中拦截器和过滤器详解
  10. SpringBoot拦截全局异常并发送邮件给指定邮箱
  11. matlab autocad选哪个,cad哪个版本最好用,如何选择?
  12. 按键精灵+屏幕录像专家实现数据抓包录制
  13. 键盘对于程序员的价值
  14. pytorch之拿训练好的LeNet模型测试自己的手写图片预测失败
  15. 文明与征服君士坦丁阵容搭配推荐 文明与征服君士坦丁攻略
  16. MOVS,LODS,CMPS,SCAS,STOS
  17. oracle11g memory_target,oracle11g要求在操作系统层设定共享内存/dev/shm,且大于MEMORY_TARGET...
  18. 【微信小程序】开发入门篇(一)
  19. 三星自定义状态栏_极简操作无需root隐藏S8导航栏和状态栏
  20. internet时间和域

热门文章

  1. 清华大学计算机系人机交互,喻 纯 - 清华大学 - 《自然人机交互中的智能输入》(47页)-原创力文档...
  2. 托管数据中心vs.云计算:保障关键任务数据安全
  3. springmvc笔记(1)—使用maven快速构建springmvc项目
  4. OJ题目-使用+-|等符号表示数字,进行运算【C语言】
  5. cocos2d-x 3.8.1的骨骼动画加载方法addArmatureFileInfo仍然存在问题
  6. fedora17用yum下载包而不安装包
  7. 如何读emmc里的引导程序_自制操作系统学习1 引导程序
  8. MYSQL实现分组排序并取组内第一条数据
  9. 搜索(DFS)---好友关系的连通分量数目
  10. python的上下文管理