In computing, two basic number representation schemes are used: Little-Endian and Big-Endian. In little-endian scheme, multi-byte values are stored starting from least significant byte to most, and vice-versa in big-endian scheme.
For example, the double word value 0x12345678
will be stored by little-endian computer as:
78 56 34 12
And by big-endian computer as:
12 34 56 78
x86 and x64 processors use little-endian encoding, while some other processors from Motorola® and IBM® use big-endian encoding.
Hex Editor Neo allows you to change the byte order for each editor window individually. Please note that any changes will be visible only in words, double words and quad words view types.
Editor Layout settings page allows you to specify the default byte order for new editor windows.
To change a byte order for the opened window, use the commands available in the View » Byte Order menu. By default, the Ctrl+E
key combination is bound to the View » Byte Order » Little-Endian command, while the Ctrl+Shift+E
key combination is bound to the View » Byte Order » Big-Endian command.
Floating-point standard (IEEE 754) does not define exact encoding of floating-point data types on little-endian and big-endian computers. According to the standard, encoding should not be affected by the change of byte order, although, floating-point type's bytes are actually swapped on several big-endian platforms.
Hex Editor Neo supports scenarios, where floating-point types are not affected by big-endian byte order, and where floating-point types are affected by the byte order change. The “Byte order change affects floating-point types” option on the General Settings page controls this. This option is ON by default.
Data Inspector and Structure Viewer modules also take the current window's byte order into account when they display and process data.
Scripts running in the editor may query and change the editor window's byte order using the IDocumentView.bigEndian property.