Crate bincode

source ·
Expand description

Bincode is a crate for encoding and decoding using a tiny binary serialization strategy. Using it, you can easily go from having an object in memory, quickly serialize it to bytes, and then deserialize it back just as fast!

§Using Basic Functions

fn main() {
    // The object that we will serialize.
    let target: Option<String>  = Some("hello world".to_string());

    let encoded: Vec<u8> = bincode::serialize(&target).unwrap();
    let decoded: Option<String> = bincode::deserialize(&encoded[..]).unwrap();
    assert_eq!(target, decoded);

§128bit numbers

Support for i128 and u128 is automatically enabled on Rust toolchains greater than or equal to 1.26.0 and disabled for targets which do not support it



  • bincode uses a Builder-pattern to configure the Serializers and Deserializers in this crate. This means that if you need to customize the behavior of bincode, you should create an instance of the DefaultOptions struct:
  • Deserialize bincode data to a Rust data structure.


  • An Serializer that encodes values directly into a Writer.


  • The kind of error that can be produced during a serialization or deserialization.


  • configDeprecated
    Get a default configuration object.
  • Deserializes a slice of bytes into an instance of T using the default configuration.
  • Deserializes an object directly from a Reader using the default configuration.
  • Deserializes an object from a custom BincodeReader using the default configuration. It is highly recommended to use deserialize_from unless you need to implement BincodeRead for performance reasons.
  • Get a default configuration object.
  • Serializes a serializable object into a Vec of bytes using the default configuration.
  • Serializes an object directly into a Writer using the default configuration.
  • Returns the size that an object would be if serialized using Bincode with the default configuration.

Type Aliases§

  • An error that can be produced during (de)serializing.
  • The result of a serialization or deserialization operation.