endian/
endian.rs

1//! Example of endianess
2
3use std::{io::Write};
4
5use kex::*;
6
7const GROUP_SIZE: usize = 4;
8const NUM_OF_GROUPS: usize = 4;
9
10fn main() {
11    let data = "Lorem ipsum dolor sit amet".as_bytes();
12    
13    println!("Printing in big endian");
14    print_data_per_byte(data, false);
15    println!("");
16    
17    println!("Printing in little endian");
18    print_data_per_byte(data, true);
19    println!("");
20}
21
22fn print_data_per_byte(data: &[u8], is_little_endian: bool) {
23    use std::io::stdout;
24
25    let config = Config::new(
26        Some(AddressFormatter::new(AddressStyle::Hex(16), Default::default())),
27        ByteFormatter::new(
28            Default::default(),
29            Groupping::RepeatingGroup(Group::new(GROUP_SIZE, " - "), NUM_OF_GROUPS),
30            "/",
31            is_little_endian,
32            Default::default()
33        ),
34        Some(CharFormatter::default()),
35        false,
36    );
37
38    let mut printer = Printer::new(stdout(), 0 as usize, config);
39
40    
41    for s in data {
42        assert!(printer
43            .write(&[*s])
44            .is_ok());
45    }
46
47    _ = printer.finish();
48    println!("");
49}