Skip to main content

Crate nu_pretty_hex

Crate nu_pretty_hex 

Source
Expand description

A Rust library providing pretty hex dump.

A simple_hex() way renders one-line hex dump, and 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.

§Example of simple_hex()

use nu_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 nu_pretty_hex::*;

let v = &include_bytes!("../tests/data");
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 nu_pretty_hex::*;

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

let v = &include_bytes!("../tests/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..

Structs§

Hex
Reference wrapper for use in arguments formatting.
HexConfig
Configuration parameters for hexdump.
HexStyles
Style parameters for hexdump. These styles will be applied both to the hex representation and the corresponding ASCII character (or placeholder, for non-printable bytes).

Traits§

PrettyHex
Allows generates hex dumps to a formatter.

Functions§

categorize_byte
config_hex
Return a hexdump of source in specified format.
hex_write
Write hex dump in specified format.
pretty_hex
Return a multi-line hexdump in default format complete with addressing, hex digits, and ASCII representation.
pretty_hex_write
Write multi-line hexdump in default format complete with addressing, hex digits, and ASCII representation to the writer.
simple_hex
Returns a one-line hexdump of source grouped in default format without header and ASCII column.
simple_hex_write
Dump source as hex octets in default format without header and ASCII column to the writer.
write_title
Write the title for the given config. The length will be taken from cfg.length.