Skip to main content

Crate bunpack

Crate bunpack 

Source
Expand description

A library for packing and unpacking binary data in Rust using format strings similar to Python’s struct module.

§Examples

use bunpack::{pack, unpack};

let data: Vec<u8> = pack!("i", 1234);
let value: i32 = unpack!("i", &data);
assert_eq!(value, 1234);

§Format Specifiers

§Byte Order

Format specifiers can begin with an optional character to specify the byte order:

SpecifierDescription
@Native byte order
<Little-endian
>Big-endian

§Type Specifiers

Following the optional byte order, format specifiers can include one or more type specifiers:

SpecifierRust TypeSize in bytes
cchar4
bi81
Bu81
?bool1
hi162
Hu162
ii324
Iu324
qi648
Qu648
oi12816
Ou12816
nisizenative
Nusizenative
ff324
df648
s&strpack only: length of string
p&[u8]pack only: length of byte array
P*const ()native

Macros§

pack
pack_write
unpack
unpack_read

Traits§

Pack
Unpack