#output #formatting #input #configurable #binary #xxd

hex-utils

使用可配置格式从二进制输入生成Xxd输出

3个版本

使用旧的Rust 2015

0.1.12 2017年10月3日
0.1.11 2017年6月1日
0.1.8 2017年6月1日

#60 in #configurable

MIT 协议

12KB
159 行代码(不包括注释)

hex-utils

使用可配置格式从二进制输入生成Xxd输出。

文档

[dependencies]
hex_utils = "*"

获取格式化输出的迭代器,作为(偏移量,十六进制输出,ASCII输出)。

extern crate hex_utils;


let text = "The quick brown fox jumps over the lazy dog";

for (offset, hex, txt) in hex_utils::xxd(text.as_bytes(), None) {
    println!("offset = {:03x} hex = {:60} txt = {}", offset, hex, txt.unwrap());
}
extern crate hex_utils;


let text = "The quick brown fox jumps over the lazy dog";
let format = hex_utils::Format {
    size: 18,
    pack: vec![3,6],
    ascii_none: '-',
    ascii: true,
    gaps:(4,2),
};

let fmt = format.formatter();

for line in hex_utils::xxd(text.as_bytes(), Some(format)) {
    println!("{}", fmt(line));
}

或者一个巨大的格式化字符串。

extern crate hex_utils;


let text = "The quick brown fox jumps over the lazy dog";

println!("{}", hex_utils::xxd_str(text.as_bytes(), None));

无运行时依赖