Sample code for 30+ languages & platforms
Rust

Append Big-Endian or Little-Endian Integers

Demonstrates how to append integers in big-endian or little-endian byte order to a BinData.

Note: This example requires Chilkat v9.5.0.77 or greater.

Chilkat Rust Downloads

Rust

let bd = chilkat::BinData::new();

// The hex value of decimal 123456789 is 0x075BCD15
let mut x = 123456789;

// Appending little-endian causes bytes to be
// appended in the order 0x15, 0xCD, 0x5B, 0x07
let mut little_endian = true;
let _ = bd.append_int4(x, little_endian).is_ok();

println!("{}", bd.get_encoded("hex").unwrap_or_default());
// Output is: 15CD5B07

// Now append the same integer in big-endian byte order.
// Appending bit-endian causes bytes to be
// appended in the order 0x07, 0x5B, 0xCD, 0x15
little_endian = false;
let _ = bd.append_int4(x, little_endian);

println!("{}", bd.get_encoded("hex").unwrap_or_default());
// bd now contains: 15CD5B07075BCD15

// -------------------------------------------
// Now do the same thing with 16-bit integers
let _ = bd.clear();

// 1234 decimal = 0x04D2 hex.
x = 1234;

little_endian = true;
let _ = bd.append_int2(x, little_endian);

println!("{}", bd.get_encoded("hex").unwrap_or_default());
// Output is: D204

little_endian = false;
let _ = bd.append_int2(x, little_endian);

println!("{}", bd.get_encoded("hex").unwrap_or_default());
// Output is now: D20404D2