序列化

 

    对象序列化用于作为一种将 对象的状态转换为字节数组,以便存储传输的机制,以后,仍可以将字节数组byte[]转换回对象原有的状态。

一、概述
    当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列byte[]的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。
    把对象转换为字节序列的过程称为对象的序列化
    把字节序列恢复为对象的过程称为对象的反序列化

二、用途:
    1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
   2) 在网络上传送对象的字节序列。


序列化对象TestLoan

    Stream TestFileStream = File.Create(FileName);
    BinaryFormatter serializer = new BinaryFormatter();
    serializer.Serialize(TestFileStream, TestLoan);
    TestFileStream.Close();

反序列化

if (File.Exists(FileName))
    {
        Stream TestFileStream = File.OpenRead(FileName);
        BinaryFormatter deserializer = new BinaryFormatter();
        TestLoan = (LoanClass.Loan)deserializer.Deserialize(TestFileStream);
        TestFileStream.Close();
    }

#####################

序列化分类:二进制序列化(BinaryFormatter ),XML序列化、SOAP序列化(SoapFormatter )

#####################

IBMDev 

MSDN 

演练:保持对象

二进制位 bit 

字节 byte(8位)

  • 位是二进制位。位可以包含0或1的值。 原文
  • 每个字节由8位组成。

字节数组/字节序列 byte[] 

字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。

在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。

原文地址:https://www.cnblogs.com/yy2056/p/3851177.html