2015-01-21 31 views
3

我想將我的結構序列化爲二進制,並在管道的另一端對其進行反序列化。有沒有一種方法來實現這個序列化箱子?它似乎只支持JSON,十六進制和base64。將struct/enum序列化爲字節

+1

你能澄清你的意思是「二元」嗎? – 2015-01-21 04:14:46

+0

u8,矢量或數組的集合。我正在尋找像Java的ObjectOutput/InputStream這樣的東西。給它一個對象,它給你的字節。 – SBSTP 2015-01-21 04:18:41

+3

你可能想看看[bincode](https://github.com/TyOverby/bincode) – 2015-01-21 05:01:54

回答

0

我會建議bincode

它提供encode()decode()功能與RustcEncodable & RustcDecodable特點,一般可#[derive] d,並返回Vec<u8>上的任何操作。

它有一些怪癖(isizeusize成爲i64u64,例如),但它們大多有提高便攜性和它往往工作如你所願。