Qt 5.9 | Qt Core | <QtEndian> - Endian Conversion Functions

Qt 5.9.9 Reference Documentation

# <QtEndian> - Endian Conversion Functions

The <QtEndian> header provides functions to convert between little and big endian representations of numbers. More...

## Functions

T | qFromBigEndian(T src)
T | qFromBigEndian(const void *src)
T | qFromLittleEndian(T src)
T | qFromLittleEndian(const void *src)
T | qToBigEndian(T src)
void | qToBigEndian(T src, void *dest)
T | qToLittleEndian(T src)
void | qToLittleEndian(T src, void *dest)

## Function Documentation

### T qFromBigEndian(T src)

This is an overloaded function.

Converts src from big-endian byte order and returns the number in host byte order representation of that number. On CPU architectures where the host byte order is little-endian (such as x86) this will return src with the byte order swapped; otherwise it will return src unmodified.

This function was introduced in Qt 4.3.

### T qFromBigEndian(const void *src)

Reads a big-endian number from memory location src and returns the number in the host byte order representation. On CPU architectures where the host byte order is little-endian (such as x86) this will swap the byte order; otherwise it will just read from src.

Note: Template type `T` can either be a qint16, qint32 or qint64. Other types of integers, e.g., qlong, are not applicable.

Note: Since Qt 5.7, the type of the src parameter is a void pointer.

There are no data alignment constraints for src.

This function was introduced in Qt 4.3.

See also qFromLittleEndian(), qToBigEndian(), and qToLittleEndian().

### T qFromLittleEndian(T src)

This is an overloaded function.

Converts src from little-endian byte order and returns the number in host byte order representation of that number. On CPU architectures where the host byte order is big-endian (such as PowerPC) this will return src with the byte order swapped; otherwise it will return src unmodified.

This function was introduced in Qt 4.3.

### T qFromLittleEndian(const void *src)

Reads a little-endian number from memory location src and returns the number in the host byte order representation. On CPU architectures where the host byte order is big-endian (such as PowerPC) this will swap the byte order; otherwise it will just read from src.

Note: Template type `T` can either be a qint16, qint32 or qint64. Other types of integers, e.g., qlong, are not applicable.

Note: Since Qt 5.7, the type of the src parameter is a void pointer.

There are no data alignment constraints for src.

This function was introduced in Qt 4.3.

See also qFromBigEndian(), qToBigEndian(), and qToLittleEndian().

### T qToBigEndian(T src)

This is an overloaded function.

Converts src from host byte order and returns the number in big-endian byte order representation of that number. On CPU architectures where the host byte order is little-endian (such as x86) this will return src with the byte order swapped; otherwise it will return src unmodified.

This function was introduced in Qt 4.3.

### void qToBigEndian(T src, void *dest)

Writes the number src with template type `T` to the memory location at dest in big-endian byte order.

Note that template type `T` can only be an integer data type (signed or unsigned).

There are no data alignment constraints for dest.

Note: Since Qt 5.7, the type of the dest parameter is a void pointer.

This function was introduced in Qt 4.3.

See also qFromBigEndian(), qFromLittleEndian(), and qToLittleEndian().

### T qToLittleEndian(T src)

This is an overloaded function.

Converts src from host byte order and returns the number in little-endian byte order representation of that number. On CPU architectures where the host byte order is big-endian (such as PowerPC) this will return src with the byte order swapped; otherwise it will return src unmodified.

This function was introduced in Qt 4.3.

### void qToLittleEndian(T src, void *dest)

Writes the number src with template type `T` to the memory location at dest in little-endian byte order.

Note that template type `T` can only be an integer data type (signed or unsigned).

There are no data alignment constraints for dest.

Note: Since Qt 5.7, the type of the dest parameter is a void pointer.

This function was introduced in Qt 4.3.

See also qFromBigEndian(), qFromLittleEndian(), and qToBigEndian().