Chapter 1. Overview

A simple FileHandler which allows editing of arbitrary binary data.

It can be used to modify the contents of any file on a byte by byte level. The files contents are fully loaded into memory and presented in a hexadecimal and ASCII table, a way very common among HEX editors.

ASCII control characters (those bytes with a value below 0x20) are displayed in a lighter color in the HEX table than other bytes. They display a tooltip text with the meaning of that byte when hovering the mouse cursor above them.

Modification of bytes is possible both in the per byte hexadecimal table as well in the ASCII line to the right of that table.

Modifying a table cell (either HEX or ASCII) will require to press either TAB or ENTER to confirm the change.

Modifying in the ASCII cell will only change those bytes whose ASCII representation has changed, thus preventing accidentially resetting non-ASCII bytes of that line.

Individual bytes can be deleted by selecting the byte to delete and pressing the according button. New bytes can be inserted at the position of the currently selected byte, thus shifting that byte (and all following content) to the end by one.

As this FileHandler supports modification and saving of the loaded data, it is an editor by nature.

In order to provide a true editor experience however, it is necessary to load the entire files contents into memory to avoid having to make changes on the underlying file when editing. For large files this might result in memory issues though.