A simple modular C++ hex viewer that reads files as raw bytes and prints a structured hex + ASCII dump in the terminal.
- Reads any file (binary or text)
- Displays hex bytes
- Shows ASCII representation
- Shows file offsets
- Supports colored terminal output (Windows ANSI enabled)
main()
βββ CLI (argument parsing)
βββ HexViewer (hex rendering)
βββ Terminal (ANSI support)
mkdir build
cd build
cmake ..
cmake --build .
hexview
Example:
hexview image.jpg
- CLI argument parsing
- Hex dump output
- ASCII column view
- ANSI terminal colors
- File reading in binary mode
- Clean modular structure
- Uppercase hex mode
- Byte search functionality
- Highlight matching bytes
- Jump-to-offset navigation
- UTF-8 awareness improvements
- Interactive terminal mode
- File entropy analysis
This project is for learning:
- C++ systems programming
- Binary file structure
- CLI design
- Terminal rendering