Data Types

Types are the fundamental entity defining how a certain region of memory should be interpreted, formatted and displayed. All types are interpreted in little endian. Structures are written using the ImHex Pattern Language.

Unsigned Integers

Unsigned integer types represent regular binary numbers. They are displayed as a integer value ranging from 0 to (2^(8*size-1)).

NameSize
u81 Byte
u162 Bytes
u324 Bytes

Signed Integers

Signed integer types represent signed binary numbers in Two's Complement representation. They are displayed as a integer value ranging from -(2^(7*size)) to (2^(7*size)-1)

NameSize
s81 Byte
s162 Bytes
s324 Bytes

Floating Points

Floating Point types represent a floating pointer number.

NameSize
f324 Bytes, IEEE754
f648 Bytes, IEEE754

Aliases

Aliases provide are just another way to represent data with a more meaningful type name.

NameSizeDescription
char1 ByteASCII Character
bool1 ByteBoolean value true / false

Strings

sstr

Sized strings start with a byte length followed by the character bytes. This is the most common string type used.

u32 size;
char bytes[size];

cstr

A c style null terminated string. The string bytes just begin and continue until a null / 0x00 byte is hit.

char bytes[];