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 serialize_into and deserialize_from functions which respectively allow encoding into any std::io::Write or decode from any std::io::Read.

Modules

Until "default type parameters" lands, we have an extra module called endian_choice that duplicates all of the core bincode functionality but with the option to choose which endianness the integers are encoded using.

The default endianness is little.

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);
}

Reexports

pub use internal::ErrorKind;
pub use internal::Error;
pub use internal::Result;
pub use internal::serialized_size;
pub use internal::serialized_size_bounded;

Modules

internal

A collection of serialization and deserialization functions that use the serde crate for the serializable and deserializable implementation.

read_types

The types that the deserializer uses for optimizations

Structs

Bounded

A SizeLimit that restricts serialized or deserialized messages from exceeding a certain byte length.

Infinite

A SizeLimit without a limit! Use this if you don't care about the size of encoded or decoded messages.

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 Buffered Reader.

serialize

Serializes a serializable object into a Vec of bytes.

serialize_into

Serializes an object directly into a Writer.

Type Definitions

Deserializer

A Deserializer that uses LittleEndian byteorder

Serializer

A Serializer that uses LittleEndian byteorder