unity序列化和反序列化
《unity序列化和反序列化》由会员分享,可在线阅读,更多相关《unity序列化和反序列化(2页珍藏版)》请在装配图网上搜索。
1、unity序列化和反序列化什么是序列化和反序列化(1序列化是指把对象转换为字节序列的过程,而反序列化是指把字节序列恢复为对象的过程;)序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。序列化后的字节流保存了对象的状态以及相关的描述信息。序列化机制的核心作用就是对象状态的保存与重建。(3)反序列化:客户端从文件中或网络上获得序列化后的对象字节流后,根据字节流中所保存的对象状态及描述信息,通过反序列化重建对象(4本质上讲,序列化就是把实体对象状态按照一定的格式写入到有序字节流,反序列化就是从
2、有序字节流重建对象,恢复对象状态。2、为什么需要序列化与反序列化我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等,而这些数据都会以二进制序列的形式在网络上传送。那么当两个进程进行通信时,能否实现进程间的对象传送呢?答案是可以的!如何做到呢?这就需要序列化与反序列化了!换句话说,一方面,发送方需要把这个对象转换为字节序列,然后在网络上传送;另一方面,接收方需要从字节序列中恢复出对象。当我们明晰了为什么需要序列化和反序列化后,我们很自然地会想序列化的好处。其好处一是实现了数据的持久化,通过序列化可以把数据永久地保存到硬盘上(通常存放在文件里),二是,利用
3、序列化实现远程通信,即在网络上传送对象的字节序列。总的来说可以归结为以下几点:(1永久性保存对象,保存对象的字节序列到本地文件或者数据库中;(2通过序列化以字节流的形式使对象在网络中进行传递和接收;(3通过序列化在进程间传递对象;inondewucPtrpo值ti小明Itnnuot(uc)t;nConuct);ject(jsonusinngSystem.Collections;usinngSystem.Collections.GenusinngUnityEngine;usinngSystem;usinngNewtonsoft.Json;ublnciclansTsestJSONn:nMonoBe
4、onnauiutuitinnuiitintyntininitintyntinTestJSONChatMessage需要导入命名空间uinytuinytiitinusingUnityEditor;先定义一个类:uiSuntuitin仑仑iou序列化:Studentstudent=newStudent();第一要确定储存的位置/Application.dataPath就是unity中的Asset文件夹StreamWritersw=newStreamWriter(Application.dataPath+/Demo.xml);第二要对什么类型序列化XmlSerializerxs=newXmlSeri
5、alizer(typeof(Student);/第三对对象序列化xs.Serialize(sw,student);/关闭流sw.Close();刷新Asset文件AssetDatabase.Refresh();运行程序会在Asset目录下看到Demo.xml文件反序列化第一确定对哪个文件进行反序列化StreamReadersr=newStreamReader(Application.dataPath+/Demo.xml);/第二要确定对什么类型反序列化XmlSerializerxs1=newXmlSerializer(typeof(Student);/第三反序列化Studentstudent1=xs1.Deserialize(sr)asStudent;/关闭流sr.Close();/会在控制台看到“仑仑”print(student1.m_Name);SerializeDemo
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。