#hex #pretty #slice #nu

bin+lib nu-pretty-hex

Pretty hex dump of bytes slice in the common style

19 breaking releases

Uses new Rust 2021

new 0.65.0 Jul 5, 2022
0.63.0 May 25, 2022
0.60.0 Mar 22, 2022
0.42.0 Dec 28, 2021
0.34.0 Jul 13, 2021
Download history 346/week @ 2022-03-15 1484/week @ 2022-03-22 439/week @ 2022-03-29 278/week @ 2022-04-05 684/week @ 2022-04-12 623/week @ 2022-04-19 613/week @ 2022-04-26 815/week @ 2022-05-03 629/week @ 2022-05-10 326/week @ 2022-05-17 756/week @ 2022-05-24 464/week @ 2022-05-31 397/week @ 2022-06-07 606/week @ 2022-06-14 383/week @ 2022-06-21 255/week @ 2022-06-28

1,709 downloads per month
Used in 4 crates (3 directly)

MIT license

16KB
282 lines

nu-pretty-hex

An update of prett-hex to make it prettier

crates.io docs.rs

A Rust library providing pretty hex dump.

A simple_hex() way renders one-line hex dump, a pretty_hex() way renders columned multi-line hex dump with addressing and ASCII representation. A config_hex() way renders hex dump in specified format.

Inspiration

Hexed
Hexyl
Pretty-hex

Example of simple_hex()

use pretty_hex::*;

let v = vec![222, 173, 190, 239, 202, 254, 32, 24];
assert_eq!(simple_hex(&v), format!("{}", v.hex_dump()));

println!("{}", v.hex_dump());

Output:

de ad be ef  ca fe 20 18

Example of pretty_hex()

use pretty_hex::*;

let v: &[u8] = &random::<[u8;30]>();
assert_eq!(pretty_hex(&v), format!("{:?}", v.hex_dump()));

println!("{:?}", v.hex_dump());

Output:

Length: 30 (0x1e) bytes
0000:   6b 4e 1a c3  af 03 d2 1e  7e 73 ba c8  bd 84 0f 83   kN......~s......
0010:   89 d5 cf 90  23 67 4b 48  db b1 bc 35  bf ee         ....#gKH...5..

Example of config_hex()

use pretty_hex::*;

let cfg = HexConfig {title: false, width: 8, group: 0, ..HexConfig::default() };

let v = &include_bytes!("data");
assert_eq!(config_hex(&v, cfg), format!("{:?}", v.hex_conf(cfg)));

println!("{:?}", v.hex_conf(cfg));

Output:

0000:   6b 4e 1a c3 af 03 d2 1e   kN......
0008:   7e 73 ba c8 bd 84 0f 83   ~s......
0010:   89 d5 cf 90 23 67 4b 48   ....#gKH
0018:   db b1 bc 35 bf ee         ...5..

Inspired by haskell's pretty-hex.

Dependencies

~450KB