<QtEndian> - Endian Conversion Functions

<QtEndian> ヘッダーには、数値のリトルエンディアン表現とビッグエンディアン表現の間で変換を行う関数が用意されています。詳細...

Header: #include <QtEndian>

型

関数

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

詳細な説明

型のドキュメント

qint16_be

QBEInteger<QINT16> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 16 ビットのビッグエンディアン符号付き整数として格納されることが保証されています。

qint16も参照してください 。

qint16_le

QLEInteger<QINT16> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 16 ビットのリトルエンディアンの符号付き整数として格納されることが保証されています。

qint16も参照してください 。

qint32_be

QBEInteger<QINT32> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 32 ビットのビッグエンディアン符号付き整数として格納されることが保証されています。

qint32も参照してください 。

qint32_le

QLEInteger<QINT32> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 32 ビットのリトルエンディアンの符号付き整数として格納されることが保証されています。

qint32も参照してください 。

qint64_be

QBEInteger<QINT64> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 64 ビットのビッグエンディアン符号付き整数として格納されることが保証されています。

qint64も参照してください 。

qint64_le

QLEInteger<QINT64> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 64 ビットのリトルエンディアン符号付き整数として格納されることが保証されています。

qint64も参照してください 。

quint16_be

QBEInteger<QUINT16> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 16 ビットのビッグエンディアン符号なし整数として格納されることが保証されています。

quint16も参照してください 。

quint16_le

QLEInteger<QUINT16> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 16 ビットのリトルエンディアンの符号なし整数として格納されることが保証されています。

quint16も参照してください 。

quint32_be

QBEInteger<QUINT32> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 32 ビットのビッグエンディアン符号なし整数として格納されることが保証されています。

quint32も参照してください 。

quint32_le

QLEInteger<QUINT32> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 32 ビットのリトルエンディアン符号なし整数として格納されることが保証されています。

quint32も参照してください 。

quint64_be

QBEInteger<QUINT64> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 64 ビットのビッグエンディアン符号なし整数として格納されることが保証されています。

quint64も参照してください 。

quint64_le

QLEInteger<QUINT64> の typedef です。この型は、Qt がサポートするすべてのプラットフォームにおいて、メモリ上に 64 ビットのリトルエンディアン符号なし整数として格納されることが保証されています。

quint64も参照してください 。

関数のドキュメント

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

メモリ位置src からビッグエンディアンの数値を読み取り、ホストのバイト順で表現した数値を返します。ホストのバイト順がリトルエンディアンである CPU アーキテクチャ(x86 など)では、これによりバイト順が入れ替わります。それ以外の場合は、単にsrc から読み取るだけです。

注:テンプレート型 T は、quint16、qint16、quint32、qint32、quint64、または qint64 のいずれかです。qlong などの他の整数型は使用できません。

注: Qt 5.7以降 、src パラメータの型は void ポインタです。

src にはデータのアライメントに関する制約はありません。

関連項目: qFromLittleEndian()、qToBigEndian()、およびqToLittleEndian()。

template <typename T> 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()も参照してください 。

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

src をビッグエンディアンのバイト順から変換し、その数値をホストのバイト順で表した形式で返します。ホストのバイト順がリトルエンディアンであるCPUアーキテクチャ(x86など)では、バイト順が入れ替わったsrc が返されます。それ以外の場合は、変更を加えずにsrc が返されます。

これはオーバーロードされた関数です。

template <typename T> 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()。

template <typename T> 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()も参照してください 。

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

src をリトルエンディアンのバイト順から変換し、その数値をホストのバイト順で表現したものを返します。ホストのバイト順がビッグエンディアンであるCPUアーキテクチャ(PowerPCなど)では、バイト順が入れ替わったsrc が返されます。それ以外の場合は、変更を加えずにsrc が返されます。

これはオーバーロードされた関数です。

template <typename T> void qToBigEndian(T src, void *dest)

テンプレート型T を持つ数値src を、dest のメモリ位置にビッグエンディアンバイト順で書き込みます。

注:テンプレート型 `T ` は、`quint16`、`qint16`、`quint32`、`qint32`、`quint64`、または `qint64` のいずれかである必要があります。qlong などの他の整数型は使用できません。

dest に対するデータの整列に関する制約はありません。

注: Qt 5.7以降 、dest パラメータの型は void ポインタとなっています。

関連項目: qFromBigEndian()、qFromLittleEndian()、およびqToLittleEndian()。

template <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()も参照してください 。

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

src をホストのバイト順から変換し、その数値をビッグエンディアンのバイト順で表した値を返します。ホストのバイト順がリトルエンディアンであるCPUアーキテクチャ(x86など)では、バイト順が入れ替わったsrc が返されます。それ以外の場合は、変更を加えずにsrc が返されます。

これはオーバーロードされた関数です。

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

テンプレート型T を持つ数値src を、dest のメモリ位置にリトルエンディアンバイト順で書き込みます。

注:テンプレート型 `T ` は、`quint16`、`qint16`、`quint32`、`qint32`、`quint64`、または `qint64` のいずれかである必要があります。qlong などの他の整数型は使用できません。

dest に対するデータの整列に関する制約はありません。

注: Qt 5.7以降 、dest パラメータの型は void ポインタとなっています。

関連項目: qFromBigEndian()、qFromLittleEndian()、およびqToBigEndian()。

template <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()も参照してください 。

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

src をホストのバイト順から変換し、その数値のリトルエンディアン形式のバイト順表現を返します。ホストのバイト順がビッグエンディアンであるCPUアーキテクチャ(PowerPCなど)では、バイト順が入れ替わったsrc が返されます。それ以外の場合は、変更を加えずにsrc が返されます。

これはオーバーロードされた関数です。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.