Crate integer_encoding
source · [−]Expand description
Fast serialization of integers.
use integer_encoding::*;
fn main() {
let a: u32 = 344;
let encoded_byte_slice = a.encode_fixed_light();
assert_eq!(a, u32::decode_fixed(encoded_byte_slice));
assert_eq!(4, encoded_byte_slice.len());
let b: i32 = -111;
let encoded_byte_vec = b.encode_var_vec();
assert_eq!((b, 2), i32::decode_var(&encoded_byte_vec));
}
Traits
FixedInt provides encoding/decoding to and from fixed int representations.
The emitted bytestring contains the bytes of the integer in machine endianness.
A trait for reading FixedInts from any other
Reader
.A trait for writing integers without encoding (i.e.
FixedInt
) to any Write
type.Varint (variable length integer) encoding, as described in
https://developers.google.com/protocol-buffers/docs/encoding.
Uses zigzag encoding (also described there) for signed integer representation.
A trait for reading VarInts from any other
Reader
.A trait for writing integers in VarInt encoding to any
Write
type. This packs encoding and
writing into one step.