# MHV

Crates.io Crates.io Downloads Rust Stable License GitHub Actions Workflow Status

## How it works? * **The color legend** * ⬛ **Null byte** * 🟦 **ASCII Printable Characters** * 🟩 **Space Characters** * 🟩 **Control Characters** * 🟥 **ASCII Extended Codes** * **Install** ``` $ cargo install mhv ``` ## Usage ``` ❯ mhv -h A minimalist hex viewer Usage: mhv [OPTIONS] Arguments: Target file Options: -s, --skip Skip `N` bytes of the input. The `N` argument can also include an unit (see `--length` for details). [default: 0] -l, --length Read `N` bytes from the input. None for full read. The `N` argument can be a unit with a decimal prefix(kb, mb). Examples: --length 3kb, -l3kb, --length 1mb... N unis are kb(1000), K(1024), mb(1000 * 1000), M(1024 * 1024), and a prefix 0x for hexadecimal, `0x0a` -n, --no-squeezing Displays all input data. Otherwise any number of output lines which would be identical to the last one are replaced with a line comprised of a single asterisk -h, --help Print help -V, --version Print version ``` ## Stream Workflow ![](images/mhv-dataflow.png) ## Usage examples * **Read 5 bytes from start** ![](images/read5.png) * **Read 32 bytes from start** ![](images/read32fromstart.png) * **Skip 16 bytes and read 40** ![](images/skip16andread40.png) * **Read using units kb(1000), K(1024), mb(1000 * 1000) or M(1024 * 1024)** ![](images/read1kb.png) * **Read from offset 0x50 plus 16 bytes** ![](images/off0x50-32bytes.png) * **Read UTF16 file** ![](images/readutf16.png)