序列化与反序列化
序列化的意思是将一种格式的数据按照某种规则转成相应等效的另一种格式的数据。反序列化是相反的过程。
一般可将数据序列化为二进制格式。也可序列化为其它格式,如xml
,json
,txt
等。究竟序列化为何种类型的数据要看实际的需要。如C#中可通过在类上增加[Serializable]、[NonSerialized]
标签使该类可或不可被序列化。序列化类是将属性取值后以某种格式保存下来,其中的函数却不会被序列化。
网络通信中也广泛应用序列化与反序列化概念。一般地,计算机将要传递的数据序列化为某种规则的二进制数据后通过信道向外发送数据。接收到二进制数据的计算机将反解(反序列化)出原始的二进制数据。更精细地,上层应用向下发送数据帧、加密成包、路由器转包、收包、剥离数据其实都是序列化与反序列化的过程。