<QtEndian> - 大小端转换函数

<QtEndian> 头文件提供了将数字的大小端表示进行转换的函数。更多...

头文件 #include <QtEndian>

类型

函数

TqFromBigEndian(const void *src)
TqFromBigEndian(T src)
voidqFromBigEndian(const void *src, qsizetype count, void *dest)
TqFromLittleEndian(const void *src)
TqFromLittleEndian(T src)
voidqFromLittleEndian(const void *src, qsizetype count, void *dest)
voidqToBigEndian(T src, void *dest)
TqToBigEndian(T src)
voidqToBigEndian(const void *src, qsizetype count, void *dest)
voidqToLittleEndian(T src, void *dest)
TqToLittleEndian(T src)
voidqToLittleEndian(const void *src, qsizetype count, void *dest)

详细说明

类型文档

qint16_be

QBEInteger 的类型别名。在 Qt 所支持的平台上,此类型保证以 16 位大端带符号整数的形式存储在内存中。

另请参阅qint16

qint16_le

QLEInteger 的类型别名。在 Qt 所支持的平台上,此类型保证以 16 位小端带符号整数的形式存储在内存中。

另请参阅qint16

qint32_be

QBEInteger 的类型别名。在 Qt 所支持的平台上,此类型保证以 32 位大端带符号整数的形式存储在内存中。

另请参阅qint32

qint32_le

QLEInteger 的类型别名。在 Qt 所支持的平台上,此类型保证以 32 位小端带符号整数的形式存储在内存中。

另请参阅qint32

qint64_be

用于 QBEInteger<qint64> 的类型别名。该类型保证在 Qt 所支持的所有平台上以 64 位大端有符号整数形式存储到内存中。

另请参阅qint64.

qint64_le

用于 QLEInteger<qint64> 的类型别名。该类型保证在 Qt 所支持的所有平台上以 64 位小端有符号整数形式存储到内存中。

另请参阅qint64.

quint16_be

用于 QBEInteger<quint16> 的类型别名。该类型保证在 Qt 所支持的所有平台上以 16 位大端无符号整数形式存储到内存中。

另请参阅quint16.

quint16_le

用于 QLEInteger<quint16> 的类型别名。该类型保证在 Qt 所支持的所有平台上以 16 位小端无符号整数形式存储到内存中。

另请参阅quint16.

quint32_be

用于 QBEInteger<quint32> 的类型别名。该类型保证在 Qt 所支持的所有平台上以 32 位大端无符号整数形式存储到内存中。

另请参阅quint32.

quint32_le

用于 QLEInteger<quint32> 的类型别名。该类型保证在 Qt 所支持的所有平台上以 32 位小端无符号整数形式存储到内存中。

另请参阅quint32.

quint64_be

用于 QBEInteger<quint64> 的类型别名。该类型保证在 Qt 所支持的所有平台上以 64 位大端无符号整数形式存储到内存中。

另请参阅quint64.

quint64_le

用于 QLEInteger<quint64> 的类型别名。该类型保证在 Qt 所支持的所有平台上以 64 位小端无符号整数形式存储到内存中。

另请参阅quint64.

函数文档

template <typename T> T qFromBigEndian(const void *src)

从内存位置 src 读取大端数并将其以主机字节顺序表示的形式返回。在主机字节顺序为小端(如 x86)的 CPU 架构上,这将交换字节顺序;否则它将直接从 src 读取。

注意:模板类型 T 可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。

注意:从 Qt 5.7 开始,src 参数的类型是 void 指针。

src 没有数据对齐约束。

另请参阅qFromLittleEndian()、qToBigEndian() 和 qToLittleEndian().

[constexpr] template <typename T> T qFromBigEndian(T src)

这是一个重复定义的函数。

将大端字节顺序的src转换为宿主字节顺序表示的数。在宿主字节顺序为小端的CPU架构(例如x86)上,这将返回字节顺序已交换的src;否则,将返回未修改的src

从内存位置src读取count个大端数并将它们存储在dest处的宿主字节顺序表示中。在宿主字节顺序为小端的CPU架构(例如x86)上,这将交换字节顺序;否则,它将仅执行从srcdestmemcpy

注意:模板类型 T 可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。

src没有数据对齐约束。然而,dest应按照类型T自然对齐。

如果srcdest可以是同一个指针,则该函数将执行原地交换(如果需要)。如果它们不是同一个,则内存区域不得重叠。

另请参阅qFromLittleEndian()、qToBigEndian() 和 qToLittleEndian().

从内存位置src读取一个小端数并将该数以宿主字节顺序表示返回。在宿主字节顺序为大端的CPU架构(例如PowerPC)上,这将交换字节顺序;否则,它将仅读取自src

注意:模板类型 T 可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。

注意:从 Qt 5.7 开始,src 参数的类型是 void 指针。

src 没有数据对齐约束。

另请参阅qFromBigEndian(),qToBigEndian()和qToLittleEndian

[constexpr]

这是一个重复定义的函数。

将小端字节顺序的src转换为以宿主字节顺序表示的数。在宿主字节顺序为大端的CPU架构(例如PowerPC)上,这将返回字节顺序已交换的src;否则,它将返回未修改的src

从内存位置src读取count个小端数并将它们存储在dest处的宿主字节顺序表示中。在宿主字节序为大端的CPU架构(例如PowerPC)上,这将交换字节顺序;否则,它将仅执行从srcdestmemcpy

注意:模板类型 T 可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。

src没有数据对齐约束。然而,dest应按照类型T自然对齐。

如果srcdest可以是同一个指针,则该函数将执行原地交换(如果需要)。如果它们不是同一个,则内存区域不得重叠。

另请参阅qToBigEndian()和qToLittleEndian

使用模板类型T将数src写入到dest指定的内存位置,以大端字节顺序。

注意:模板类型 T 可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。

dest没有数据对齐约束。

注意:自Qt 5.7起,dest参数的类型为空指针。

另请参阅qFromBigEndian(),qFromLittleEndian()和qToLittleEndian

[constexpr] 模板 <typename T> T qToBigEndian(T src)

这是一个重复定义的函数。

src 从主机的字节顺序转换为返回该数字的大端字节顺序表示形式。在主机字节顺序为小端字节序的CPU架构(如x86)上,这将返回字节顺序已交换的 src;否则,它将返回未经修改的 src

模板 <typename T> void qToBigEndian(const void *src, qsizetype count, void *dest)

从内存位置 src 在主机字节序中读取 count 个数字,并将它们存储在 dest 的大端表示形式中。在主机字节顺序为小端字节序的CPU架构(如x86)上,这将交换字节顺序;否则,它将只执行从 srcdestmemcpy 操作。

注意:模板类型 T 可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。

对于 dest 没有数据对齐约束。然而,期望 src 对类型 T 拥有自然对齐。

如果srcdest可以是同一个指针,则该函数将执行原地交换(如果需要)。如果它们不是同一个,则内存区域不得重叠。

另请参阅qFromLittleEndian()、qToBigEndian() 和 qToLittleEndian().

模板 <typename T> void qToLittleEndian(T src, void *dest)

将模板类型 T 的数字 src 写入 dest 内存位置的 小端字节序。

注意:模板类型 T 可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。

dest没有数据对齐约束。

注意:自Qt 5.7起,dest参数的类型为空指针。

另请参阅qFromBigEndian(), qFromLittleEndian() 和 qToBigEndian().

[constexpr] 模板 <typename T> T qToLittleEndian(T src)

这是一个重复定义的函数。

src 从主机字节顺序转换为返回该数字的小端字节顺序表示形式。在主机字节顺序为大端字节序的CPU架构(如PowerPC)上,这将返回字节顺序已交换的 src;否则,它将返回未经修改的 src

模板 <typename T> void qToLittleEndian(const void *src, qsizetype count, void *dest)

从内存位置 src 在主机字节序中读取 count 个数字,并将它们存储在 dest 的小端表示形式中。在主机字节顺序为大端字节序的CPU架构(如PowerPC)上,这将交换字节顺序;否则,它将只执行从 srcdestmemcpy 操作。

注意:模板类型 T 可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。

对于 dest 没有数据对齐约束。然而,期望 src 对类型 T 拥有自然对齐。

如果srcdest可以是同一个指针,则该函数将执行原地交换(如果需要)。如果它们不是同一个,则内存区域不得重叠。

另请参阅qFromLittleEndian()、qToBigEndian() 和 qToLittleEndian().

© 2024 Qt公司。本文档中的文档贡献是各自所有者的版权。提供的文档许可根据由自由软件开发基金会发布的 GNU自由文档许可第1.3版 的条款许可。Qt及其相关标志是芬兰和/或全世界的Qt公司的商标。所有其他商标都是其各自所有者的财产。