#nu #hex #shell #pretty

nu-pretty-hex

Pretty hex dump of bytes slice in the common style

31 breaking releases

new 0.77.1 Mar 17, 2023
0.76.0 Feb 21, 2023
0.73.0 Dec 20, 2022
0.72.0 Nov 29, 2022
0.34.0 Jul 13, 2021

#247 in Rust patterns

Download history 800/week @ 2022-11-27 470/week @ 2022-12-04 462/week @ 2022-12-11 541/week @ 2022-12-18 361/week @ 2022-12-25 422/week @ 2023-01-01 607/week @ 2023-01-08 405/week @ 2023-01-15 356/week @ 2023-01-22 749/week @ 2023-01-29 526/week @ 2023-02-05 589/week @ 2023-02-12 1714/week @ 2023-02-19 1702/week @ 2023-02-26 998/week @ 2023-03-05 1468/week @ 2023-03-12

5,942 downloads per month
Used in 9 crates (4 directly)

MIT license

15KB
243 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

~0–4MB
~58K SLoC