<QtEndian> - 大小端转换函数
<QtEndian> 头文件提供了将数字的大小端表示进行转换的函数。更多...
头文件 | #include <QtEndian> |
类型
qint16_be | |
qint16_le | |
qint32_be | |
qint32_le | |
qint64_be | |
qint64_le | |
quint16_be | |
quint16_le | |
quint32_be | |
quint32_le | |
quint64_be | |
quint64_le |
函数
T | qFromBigEndian(const void *src) |
T | qFromBigEndian(T src) |
void | qFromBigEndian(const void *src, qsizetype count, void *dest) |
T | qFromLittleEndian(const void *src) |
T | qFromLittleEndian(T src) |
void | qFromLittleEndian(const void *src, qsizetype count, void *dest) |
void | qToBigEndian(T src, void *dest) |
T | qToBigEndian(T src) |
void | qToBigEndian(const void *src, qsizetype count, void *dest) |
void | qToLittleEndian(T src, void *dest) |
T | qToLittleEndian(T src) |
void | qToLittleEndian(const void *src, qsizetype count, void *dest) |
类型文档
qint16_be
QBEInteger
另请参阅qint16。
qint16_le
QLEInteger
另请参阅qint16。
qint32_be
QBEInteger
另请参阅qint32。
qint32_le
QLEInteger
另请参阅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。
void qFromBigEndian(const void *src, qsizetype count, void *dest)
从内存位置src读取count个大端数并将它们存储在dest处的宿主字节顺序表示中。在宿主字节顺序为小端的CPU架构(例如x86)上,这将交换字节顺序;否则,它将仅执行从src到dest的memcpy
。
注意:模板类型 T
可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。
src没有数据对齐约束。然而,dest应按照类型T
自然对齐。
如果src和dest可以是同一个指针,则该函数将执行原地交换(如果需要)。如果它们不是同一个,则内存区域不得重叠。
另请参阅qFromLittleEndian()、qToBigEndian() 和 qToLittleEndian().
T qFromLittleEndian(const void *src)
从内存位置src读取一个小端数并将该数以宿主字节顺序表示返回。在宿主字节顺序为大端的CPU架构(例如PowerPC)上,这将交换字节顺序;否则,它将仅读取自src。
注意:模板类型 T
可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。
注意:从 Qt 5.7 开始,src 参数的类型是 void 指针。
src 没有数据对齐约束。
另请参阅qFromBigEndian(),qToBigEndian()和qToLittleEndian。
[constexpr]
T qFromLittleEndian(T src)
这是一个重复定义的函数。
将小端字节顺序的src转换为以宿主字节顺序表示的数。在宿主字节顺序为大端的CPU架构(例如PowerPC)上,这将返回字节顺序已交换的src;否则,它将返回未修改的src。
void qFromLittleEndian(const void *src, qsizetype count, void *dest)
从内存位置src读取count个小端数并将它们存储在dest处的宿主字节顺序表示中。在宿主字节序为大端的CPU架构(例如PowerPC)上,这将交换字节顺序;否则,它将仅执行从src到dest的memcpy
。
注意:模板类型 T
可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。
src没有数据对齐约束。然而,dest应按照类型T
自然对齐。
如果src和dest可以是同一个指针,则该函数将执行原地交换(如果需要)。如果它们不是同一个,则内存区域不得重叠。
另请参阅qToBigEndian()和qToLittleEndian。
void qToBigEndian(T src, void *dest)
使用模板类型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)上,这将交换字节顺序;否则,它将只执行从 src 到 dest 的 memcpy
操作。
注意:模板类型 T
可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。
对于 dest 没有数据对齐约束。然而,期望 src 对类型 T
拥有自然对齐。
如果src和dest可以是同一个指针,则该函数将执行原地交换(如果需要)。如果它们不是同一个,则内存区域不得重叠。
另请参阅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)上,这将交换字节顺序;否则,它将只执行从 src 到 dest 的 memcpy
操作。
注意:模板类型 T
可以是 quint16、qint16、quint32、qint32、quint64 或 qint64。其他整数类型,例如 qlong,不适用。
对于 dest 没有数据对齐约束。然而,期望 src 对类型 T
拥有自然对齐。
如果src和dest可以是同一个指针,则该函数将执行原地交换(如果需要)。如果它们不是同一个,则内存区域不得重叠。
另请参阅qFromLittleEndian()、qToBigEndian() 和 qToLittleEndian().
© 2024 Qt公司。本文档中的文档贡献是各自所有者的版权。提供的文档许可根据由自由软件开发基金会发布的 GNU自由文档许可第1.3版 的条款许可。Qt及其相关标志是芬兰和/或全世界的Qt公司的商标。所有其他商标都是其各自所有者的财产。