Crate bincode [−] [src]
bincode is a crate for encoding and decoding using a tiny binary
serialization strategy.
There are simple functions for encoding to Vec<u8> and decoding from
&[u8], but the meat of the library is the encode_into and decode_from
functions which respectively allow encoding into a std::io::Writer
and decoding from a std::io::Buffer.
Modules
There are two ways to encode and decode structs using bincode, either using rustc_serialize
or the serde crate. rustc_serialize and serde are crates and and also the names of their
corresponding modules inside of bincode. Both modules have exactly equivalant functions, and
and the only difference is whether or not the library user wants to use rustc_serialize or
serde.
Using Basic Functions
extern crate bincode; use bincode::{serialize, deserialize, Bounded}; fn main() { // The object that we will serialize. let target = Some("hello world".to_string()); // The maximum size of the encoded message. let limit = Bounded(20); let encoded: Vec<u8> = serialize(&target, limit).unwrap(); let decoded: Option<String> = deserialize(&encoded[..]).unwrap(); assert_eq!(target, decoded); }
Modules
| endian_choice | |
| refbox |
Structs
| Bounded | |
| Infinite |
Enums
| ErrorKind |
Traits
| SizeLimit |
A limit on the amount of bytes that can be read or written. |
Functions
| deserialize |
Deserializes a slice of bytes into an object. |
| deserialize_from |
Deserializes an object directly from a |
| serialize |
Serializes a serializable object into a |
| serialize_into |
Serializes an object directly into a |
| serialized_size |
Returns the size that an object would be if serialized using bincode. |
| serialized_size_bounded |
Given a maximum size limit, check how large an object would be if it were to be serialized. |
Type Definitions
| Deserializer | |
| Error |
An error that can be produced during (de)serializing. |
| Result | |
| Serializer |