Struct hex_utils::Format [] [src]

pub struct Format {
    pub size: usize,
    pub pack: Vec<usize>,
    pub ascii_none: char,
    pub ascii: bool,
    pub gaps: (usize, usize),

Format configuration of xxd output


How many bytes per line, the default is 16.

How to pack xx bytes next to each other. For each multiple of the value, space will be inserted. The default is [2,4,8]. (Every two bytes one space, every 4 bytes a space and every 8 bytes a space).

A character to print in case of unprintable characters for ASCII output, the default is '.'.

True to output ASCII. The default is true.

Gaps in formatting: offset{gaps.0}hex{gaps.1}ascii. The default is 2 spaces for both.


impl Format


Create default format


extern crate hex_utils;

let format = hex_utils::Format::default().unwrap();

assert_eq!(16, format.size);


Get the format out of Option or get the default one.


let format = Some(hex_utils::Format {
                                size: 9,
                                pack: vec![3,5],
                                ascii_none: '#',
                                ascii: true,
                                gaps: (2,3),

let opt = hex_utils::Format::or_default(format);
assert_eq!(9, opt.size);
assert_eq!(vec![3,5], opt.pack);
assert_eq!('#', opt.ascii_none);

let opt = hex_utils::Format::or_default(None);
assert_eq!(16, opt.size);
assert_eq!(vec![2,4,8], opt.pack);
assert_eq!('.', opt.ascii_none);


Create formatter function from this formatting configuration.

Trait Implementations

impl Clone for Format


Returns a copy of the value. Read more


Performs copy-assignment from source. Read more