HexDump - Binary data display utility

HexDump.zip - A command line binary file display and conversion utility, hexdump supports both bin2hex and hex2bin functionality.

In the normal bin2hex execution, hexdump reads binary data and produces a hex display of the processed data. Options are included to set the starting offset and the number of bytes to process.

With "-r" (reverse) execution, the program will consume hex and produce binary. Text on line after a "*" is considered commentary and the program recognizes offset data at the start of a line and ignores (space, 8 chars hex, space). This allows a file to be converted from binary to hex, edited with a text editor including the ability to add and delete bytes and then converted back to binary with a minimum of hand editing.

Syntax:
      HexDump -switches [InfileName] (output always written to stdout)

[switches]
      -Sxxx    Start offset (hex)
      -Nxxx   Number of bytes to process (hex)
      -B         Bare (omit offsets and ASCII display)
      -R         Reverse (hex2bin)
      -W        Wide (132 column)
      -H, -?    Help

Examples
      "dir | hexdump"
      "dir | hexdump | hexdump -r"
      "hexdump -w -s20 c:\myfile.exe > myfile.hex"

Update history:

1.80
26-Nov-23
Port to Visual Studio 2019, corrects C runtime error dropping a line of hex text input at 24KB
which resulted in a drop of 16-bytes from converted binary output when used with concurrent
piping of input and output and large files.
1.7009-Apr-16 Support UNICODE strings for input filenames
Do not require dash at column 30 for the hex2bin function to recognize and ignore the offset data.
Port to Visual Studio 2015 and renamed to .cpp
Executable grows from 40,960 in 2003 to 129,536 in 2016 (both static runtimes)
1.6028-Sep-03Add support for "bare" output (no ascii, no offsets). Port from Watcom to MSVC60
1.5008-Jul-97Use Windows APIs rather than C library for binary file I/O, proper recognition of end of line char
1.4003-Nov-96Ported from 16-bit DOS to 32-Bit Windows NT/Win32
1.3028-Jan-96Ported from 32-bit OS/2 to 16-bit DOS
1.2002-Dec-92Added -w (wide) support
1.1017-Aug-92Fixed bug where Ctrl-Z wasn't reccognized in cases where partial data already read
1.0015-Jun-92First version, 32-bit OS/2

License
The program may be used freely - but may not be redistributed. Please direct new users to this web page to download the executable.

For comments or feedback, send email to "joe" at this domain.