惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
腾讯CDC
Jina AI
Jina AI
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
小众软件
小众软件
M
MIT News - Artificial intelligence
MyScale Blog
MyScale Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
月光博客
月光博客
L
LangChain Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
C
Check Point Blog
U
Unit 42
人人都是产品经理
人人都是产品经理

博客园 - 小灰灰开始整活儿啦

喔去,litellm 竟然被投毒了,赶紧检查你的机器中招了没有 KMP跨平台开发中的现状调研 [随记]iphone加粗字体 如何获得毫秒级时间(iphone) Mac os 截屏快捷键 消灭Warning 'ClassName' may not respond to '-funcName:args' 给xcode设置快捷键 - 小灰灰开始整活儿啦 - 博客园 [转]iPhone系统常用文件夹位置 Xcode 快捷键全集[转] iphone中如何进行多线程编程[转] NSString详细介绍 Iphone UILabel显示多行文本的方法 iPhone上的JSON[转] Iphone dev -json-1- Transfer json data by Http Submitting HTTP Requests (iPhone) 不支持js的(wap2.0)手机清单 Safe characters for friendly url HTC 手机的'Length Require的Bug [编程点滴]将string 转化成enum最简单的办法。
.net 序列化反序列化小节
小灰灰开始整活儿啦 · 2011-05-26 · via 博客园 - 小灰灰开始整活儿啦

整理一下.net的三种主流序列话方式,方便ctrl+c,v 。还少Json.net的序列化方式,因为最近用那个发现点问题,正在研究他的源代码,有了结论再发。还有自定义流协议(方便跨平台),有个代码生成器,有时间整理一下单独发出来。 

一、流方式:

//序列化
      MemoryStream memStream = new MemoryStream();
      
new BinaryFormatter().Serialize(memStream, obj);
      var buf
= memStream.GetBuffer();
//反序列化
    MemoryStream memStream = new MemoryStream(buf);
    
object obj = new BinaryFormatter().Deserialize(memStream); 

 二、xml方式:

//序列化:
    XmlSerializer xs = new XmlSerializer(typeof(obj));
    MemoryStream memStream 
= new MemoryStream ();
    xs.Serialize(memStream , obj);
//反序列化:
    XmlSerializer xs = new XmlSerializer(typeof(obj));
    MemoryStream memStream 
= new MemoryStream ();

    boject obj = xs.Deserialize(memStream);

 三、Json方式:

//序列化:
    DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(T));
    MemoryStream memStream 
= new MemoryStream();
    js.WriteObject(memStream, obj);
    
string jStr = Encoding.UTF8.GetString(ms.ToArray());//反序列化:
    DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(T));
    MemoryStream memStream 
= new MemoryStream(Encoding.UTF8.GetBytes(jStr));

    object obj = js.ReadObject(memStream);  

 四、自定义

一般是自定义的流协议,配合代码生成器,可以实现各种设备间无障碍通讯(本人在无线开发、网游开发中常用此方法),可以考虑把代码生成器整理一下公布出来,现在看还比较烂;)