序列化

序列化 （ serialization ） 在計算機科學的資料處理中 ， 是指將資料結構或物件狀態轉換成可取用格式 （ 例如存成檔案 ， 存於緩衝 ， 或經由網絡中傳送 ） ， 以留待後續在相同或另一臺計算機環境中 ， 能恢復 - { } - 原先狀態的過程 。 依照序列化格式重新獲取位元組的結果時 ， 可以利用它來產生與原始物件相同語義的副本 。 對於許多物件 ， 像是使用大量參照的複雜物件 ， 這種序列化重建的過程並不容易 。 物件導向中的物件序列化 ， 並不概括之前原始物件所關聯的函式 。 這種過程也稱爲物件編組 （ marshalling ） 。 從一系列位元組提取資料結構的反向操作 ， 是反序列化 （ 也稱爲解編組 、 deserialization 、 unmarshalling ） 。 序列化在計算機科學中通常有以下定義 ： 對同步控制而言 ， 表示強制在同一時間內進行單一存取 。 在數據儲存與傳送的部分是指將一個對象存儲至一個儲存媒介 ， 例如檔案或是記憶體緩衝等 ， 或者透過網絡傳送資料時進行編碼的過程 ， 可以是位元組或是XML等格式 。 而位元組的或XML編碼格式可以還原完全相等的對象 。 這程序被應用在不同應用程式之間傳送對象 ， 以及伺服器將對象儲存到檔案或資料庫 。 相反的過程又稱爲反序列化 。