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
Fields
size: usize
How many bytes per line, the default is 16.
pack: Vec<usize>
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).
ascii_none: char
A character to print in case of unprintable characters for ASCII output, the default is '.'.
ascii: bool
True to output ASCII. The default is true.
gaps: (usize, usize)
Gaps in formatting: offset{gaps.0}hex{gaps.1}ascii. The default is 2 spaces for both.
Methods
impl Format
[src]
fn default() -> Option<Format>
[src]
Create default format
Examples
extern crate hex_utils; let format = hex_utils::Format::default().unwrap(); assert_eq!(16, format.size);
fn or_default(format: Option<Format>) -> Format
[src]
Get the format out of Option or get the default one.
Examples
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);
fn formatter(&self) -> Box<Fn((usize, String, Option<String>)) -> String>
[src]
Create formatter function from this formatting configuration.