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}; fn main() { // The object that we will serialize. let target = Some("hello world".to_string()); // The maximum size of the encoded message. let limit = bincode::SizeLimit::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 |
Enums
ErrorKind | |
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 |