序列化和反序列化

2021-09-21 10:57:21 字數 929 閱讀 1791

什麼是序列化和反序列化

序列化是將物件狀態轉換為可保持或傳輸的格式的過程。與序列化相對的是反序列化,它將流轉換為物件。這兩個過程結合起來,可以輕鬆地儲存和傳輸資料。例如,可以序列化乙個物件,然後使用 http 通過 internet 在客戶端和伺服器之間傳輸該物件。反之,反序列化根據流重新構造物件。此外還可以將物件序列化後儲存到本地,再次執行的時候可以從本地檔案中「恢復」物件到序列化之前的狀態。

序列化是指乙個物件的例項可以被儲存,儲存成乙個二進位制串,當然,一旦被儲存成二進位制串,那麼也可以儲存成文字串了。

比如,乙個計數器,數值為2,我們可以用字串「2」表示。

如果有個物件,叫做connter,當前值為2,那麼可以序列化成「2」,反向的,也可以從「2」得到值為2的計數器例項。

這樣,關機時序列化它,開機時反序列化它,每次開機都是延續的。不會都是從頭開始。

序列化概念的提出和實現,可以使我們的應用程式的設定資訊儲存和讀取更加方便。

序列化有很多好處,比如,在一台機器上產生乙個例項,初始化完畢,然後可以序列化,通過網路傳送到另一台機器,然後反序列化,得到物件例項,之後再執行某些業務邏輯,得到結果,再序列化,返回第一台機器,第一台機器得到物件例項,得到結果。

這個例子是目前比較先進的「智慧型**」的原理。

當前比較熱火的web services使用soap協議,soap協議也是以物件的可序列化為基礎的。

using system.runtime.serialization.formatters.binary;

public class serializationunit

///

/// 把位元組陣列反序列化成物件

///

public static object deserializeobject(byte bytes)

}

序列化和反序列化 C 序列化與反序列化。

序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...

序列化和反序列化

先定義乙個類 serializable xmlroot shintech public class person set public string name set public person this 0,string.empty public person int m age,string m...

序列化和反序列化

引文來自 序列化和反序列化我們可能經常會聽到,其實通俗一點的解釋,序列化就是把乙個物件儲存到乙個檔案或資料庫欄位中去,反序列化就是在適當的時候把這個檔案再轉化成原來的物件使用。using system using system.collections using system.text namesp...