Unity | 序列化(Serialized)和反序列化(NonSerialized)是什么意思

这篇具有很好参考价值的文章主要介绍了Unity | 序列化(Serialized)和反序列化(NonSerialized)是什么意思。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是序列化

官方叙述:序列化是将对象的状态信息转换为可以存储或传输的形式的过程。

人话叙述:我们平时输入的代码,实际上是不能储存或者传输的,所以我们需要翻译一下,翻译成能储存或者翻译的文字,这个翻译的过程叫做序列化。

二、什么要序列化

问题:为什么我们平时的代码不能储存?

众所周知,我们储存数据用的是硬盘。

问题:硬盘是如何储存数据的呢?

注释:当其他东西都不变时,电流正着流或者逆向流,可以产生不同的磁场,不同的磁场就会吸引或排斥周围的东西,东西的位置就不同。反之,磁场不同,就可以产生不同的电流(正向或逆向)。

所以,电流会有两个方向,磁场会有两种状态。这两种状态,就是我们说的,计算机只能读懂0和1,因为他只有两种状态。

磁场的状态,就一直留在硬盘里,需要资料的时候,就把这个状态读取一下,保存信息的时候,就用电流改变一下这个磁场状态。

所以,我们想要储存信息,必须把这个信息转换成0或者1,那就必须要翻译,也就是序列化。

三、什么是反序列化

序列化是把信息翻译成机器能认识的语言,那么反序列化就是把机器语言翻译回来。

四、序列化有什么通用好处

官方1:永久性保存对象,保存对象的字节序列到本地文件或者数据库中;
解释:既然已经翻译成计算机能认识的0和1了,就能储存了,就能保存下来了。

官方2:通过序列化以字节流的形式使对象在网络中进行传递和接收;

解释:很多硬件(比如数据线),也是用0和1传输信息的,所以翻译了以后,数据线也可以方便的传输这部分内容了。

官方3:通过序列化在进程间传递对象;

解释:不同的软件,用的语言不一样,你不好交换两个软件之间的信息,但是软件都必须要和计算机交流,所以都必须会0和1这个语言,所以你翻译以后,大家可以用0和1传递信息。

五、在Unity里序列化以后

在我们用Unity的时候,面板上会有一些信息,如下。

Unity | 序列化(Serialized)和反序列化(NonSerialized)是什么意思

如果你希望你的信息在Unity的面板上显示出来,就可以用序列化。

反之,如果你希望面板上显示出来的东西,我不想它显示出来,也可以用反序列化。

(并不是所有的都可以序列化和反序列化)文章来源地址https://www.toymoban.com/news/detail-501562.html

[SerializeField] int i;//序列化
//本来这个i是不会在面板上显示的,但是因为序列化了,所以会显示

[NonSerialized] public int i;//反序列化
//本来这个i会在面板上显示,但是因为用了反序列化,所以就不显示了

[Serializable]
public class Tool_return : MonoBehaviour{} //序列化
//对于类,或者结构体之类的,序列化需要用[Serializable]

到了这里,关于Unity | 序列化(Serialized)和反序列化(NonSerialized)是什么意思的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 又一个难题:Java 序列化和反序列化为什么要实现 Serializable 接口?

    作者:椰子Tyshawn 来源:https://blog.csdn.net/litianxiang_kaola 最近公司的在做服务化, 需要把所有model包里的类都实现Serializable接口, 同时还要显示指定serialVersionUID的值. 听到这个需求, 我脑海里就突然出现了好几个问题, 比如说: 序列化和反序列化是什么? 实现序列化和反序列化为什

    2024年02月08日
    浏览(7)
  • 【Linux】序列化和反序列化

    【Linux】序列化和反序列化

    在网络编程中,直接使用 结构体 进行数据传输会出错,因为 本质上socket无法传输结构体 ,我们只有将结构体装换为字节数组,或者是字符串格式来传输,然后对端主机收到了数据,再将其转化为结构体,这就是序列化和反序列化的过程! 序列化 (Serialization)是将对象的状态

    2024年02月10日
    浏览(10)
  • Java序列化和反序列化

    目录 一、序列化和反序列化 二、Java序列化演示 三、反序列化漏洞 1、含义 ​序列化就是内存中的对象写入到IO流中,保存的格式可以是二进制或者文本内容。反序列化就是IO流还原成对象。 2、用途 (1)传输网络对象 (2)保存Session 1、序列化 java.io.ObjectOutputStream代表对象

    2023年04月25日
    浏览(11)
  • Java序列化和反序列化机制

    在阅读 ArrayList 源码的时候,注意到,其内部的成员变量动态数组 elementData 被Java中的 transient 修饰 transient 意味着Java在序列化时会跳过该字段(不序列化该字段) 而Java在默认情况下会序列化类(实现了 Java.io.Serializable 接口的类)的所有非瞬态(未被 transient 修饰

    2024年03月15日
    浏览(12)
  • Java中序列化和反序列化解释

    在Java中,序列化(Serialization)是指将对象的状态转换为字节流的过程,以便将其保存到文件、在网络中传输或持久化到数据库中。而反序列化(Deserialization)则是将字节流转换回对象的过程,恢复对象的状态。 序列化和反序列化主要用于以下场景: 1. 对象持久化:通过序列

    2024年02月07日
    浏览(8)
  • [计算机网络]---序列化和反序列化

    [计算机网络]---序列化和反序列化

    前言 作者 :小蜗牛向前冲 名言 :我可以接受失败,但我不能接受放弃    如果觉的博主的文章还不错的话,还请 点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正  目录  一、再谈协议 二、序列化和反序化 1、网络版本计算器的场景搭建 2、

    2024年02月20日
    浏览(13)
  • java中的序列化和反序列化

    objectOutputStream 对象的序列化,以流的形式将对象写入文件 构造方法: objectOutputStream(OutputStream out) 传入一个字节输入流创建objectOutputStream对象 成员方法: void writeObject(object obj) 将指定的对象写入objectOutputStream 使用步骤: 创建一个类,这个类实现Serializable接口,Serializable是一

    2024年02月14日
    浏览(11)
  • TCP定制协议,序列化和反序列化

    TCP定制协议,序列化和反序列化

    目录 前言 1.理解协议 2.网络版本计算器 2.1设计思路 2.2接口设计 2.3代码实现: 2.4编译测试 总结         在之前的文章中,我们说TCP是面向字节流的,但是可能对于面向字节流这个概念,其实并不理解的,今天我们要介绍的是如何理解TCP是面向字节流的,通过编码的方式,自

    2024年02月12日
    浏览(10)
  • jackjson自定义序列化和反序列化

    jackjson自定义序列化和反序列化

    JRT引用的jackjson作为json处理库。由于JRT.ORM要求表不用datetime类型,把日期和时间用Int存储,所以ORM要支持日期时间的转换。为什么要把日期时间不用datetime而用Int,比如日期:20240117,时间就是从0点到当前的秒数。因为不用datetime兼容性好,不会因为不同库datetime函数不同而要

    2024年01月18日
    浏览(9)
  • iOS处理json,序列化和反序列化

    Mantle 是一个开源的 Objective-C 框架,用于在 iOS 和 macOS 应用程序中实现模型层的序列化和反序列化。它提供了一种简单而强大的方式来将 JSON数据格式转换为自定义的数据模型对象,以及将数据模型对象转换为字典或 JSON 格式。 Mantle具有如下特点 自动映射 Mantle自动将 JSON 数据

    2024年02月11日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包