000000 23 42 34 53 56 45 76 45 #B4SVEvE
000008 64 56 0a bc 0a 35 c0 08 dV...5..
000010 06 be 09 07 bb 07 00 00 ........
000018 00 00 00 00 00 00 07 __ .......
On the far left are the offsets of the first byte in the line in
hexadecimal notation. You can choose the offset length with the
Options/Preferences command. Then come the actual byte values,
with vertical separating lines after every fourth byte in the
line. You can choose the number of bytes to display per line with
the Options/Preferences, and also, if it should be automatically
adjusted to the window width. To the far right are the character
representations of these values, with dotted lines on the left
and right of this section. You can choose the character set for
these representations as well as the font size with the Options/Preferences
command. As you can see, the first byte of the second line of the
sample hexdump has the hexadecimal value 64 and the corresponding
character is a lower case "d". The position after the
last byte of the file is marked with a double underscore "__"
in the byte section.
Blinking in the window somewhere is a rectangular caret, if the
window is enabled. If it is in the byte section, then it stands
on either of the two nibbles (half-bytes). If it is in the
character section, then it stands on one character corresponding
with one byte. In either case the corresponding other
representation is shown inverted in the other section.
On the bottom of the window is the status bar, which displays
additional information. In the first section of the status bar
you can find the current offset of the byte which the caret is
marking in hexadecimal and decimal notation. After that come the
bits of the current byte. Also in this section, on the right side,
is something like this:
Unsigned: B:35,W:16931,L:1395933731
These are the values of the byte (B:), the word (W:) and the
longword (L:) value starting at this offset in decimal notation.
These are computed depending on the setting for signed or
unsigned values (Choose with command Options/Preferences) and on
the binary mode setting, either Little-endian (Intel format) or
Big-endian (Motorola format). Choose with command Options/Binary
mode.
In the second section of the status bar are indicators for:
- character set: "ANSI" or "OEM".
- entering mode: "OVR" for overwriting or "INS"
for inserting on keyboard input. If Translhextion is in read-only
mode, then there will be a "READ" here.
- binary mode: "L" for Little-endian or "B"
for Big-endian.
In the third section the file size in bytes is displayed.
The window also has a vertical and a horizontal scrollbar, which
can be used to scroll the view. They don't change the caret
position.
Moving the caret in the file
You can move the caret with the arrow keys. Press TAB to toggle
the editing mode between byte and character editing.You can also
jump to any position by choosing the Offset/Jump to... command
and entering an offset, like "125", which will set the
caret position to offset 125 decimal. For relative jumps in the
file, for example if you want to go to an offset 150 bytes after
the current one, you have to start with "+" as the
first character and follow this with either a decimal number or a
hex number starting with "x". So to jump 150 bytes
forward you have to enter "+150" or "+x96" in
hex notation. For backward relative jumps start with "-"
(minus) as the first character. To jump directly to the end of
the file press Ctrl+End, for the beginning Ctrl+Home.
Translhextion can find text and binary values in a file. Choose
Search/Find to do this. In the dialog you can choose if the case
of the text parts of the find string are to be ignored and the
find direction. To encode binary values, Translhextion uses a
special byte-code syntax developed by Raihan Kibria.
Example:
Here is the find string.<bd:0>FloatValue<fl:-14.56>
This will cause Translhextion to search for a string "Here
is the find string." followed by a zero-byte, then the text
"FloatValue" and a 4-byte float with the value -14.56.
Note that coded binary values will also be transformed by the
"match case" option of the Find command, so if you
search for a byte with the hex value of 0x41 (this is the upper-case
letter "A") with the match-case option disabled, then
Translhextion will also find bytes with the hex value 0x61 (the
lower-case letter "a"). Therefore you should always
search for discrete binary values with case-matching enabled or
you might not get correct results.
Please see Using the special syntax for further information.
The Search/Find next and Search/Find previous commands find the
next or previous occurrence of the find string last entered in
the Find-dialog, with the match-case option enabled or disabled
as chosen in it.
By positioning the mouse cursor on a byte or a character and
pressing the left mouse button you can also set the caret
position.
You can also move in the file by choosing one of the bookmarks in
the "Bookmarks" menu section. The caret will be set to
that offset immediately.
Editing the file
There are several ways to edit the data in the file. But you will
only be able be to change the file in any way if the Read-only
mode is disabled. To enable or disable the read-only mode choose
the File/Read-only on/off command. If the read-only mode is
enabled, there will be "READ" written in the status bar
and the menu item will be checked.
Using the keyboard
For overwriting data the overwriting entering mode must be
enabled, that means, the status bar must show "OVR"
somewhere. Toggle the entering mode with the Insert-key on the
keyboard or choosing Insert/Toggle keyboard insert/overwrite mode
. You can overwrite the data in the bytes section by moving the
cursor to the appropriate position and pressing any of the
hexadecimal digits 0-9 and a-f on the keyboard. The nibble the
caret is marking currently will be set to that value and the
caret will then go on to the next nibble. If the caret is in the
bytes section, pressing any alphanumeric key will set the current
byte (that which the caret is marking) to that value, and the
caret will go on to the next byte.
For inserting data the status bar must show "INS"
somewhere. Entering data now will insert a byte at the current
position.