<QtEndian> - Endian Conversion Functions

L'en-tête <QtEndian> fournit des fonctions permettant de convertir les nombres entre les représentations « little endian » et « big endian ». En savoir plus...

Header: #include <QtEndian>

Types

Fonctions

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)

Description détaillée

Documentation sur les types

qint16_be

Définition de type pour QBEInteger<QINT16>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier signé de 16 bits en format « big-endian » sur toutes les plateformes prises en charge par Qt.

Voir également qint16.

qint16_le

Définition de type pour QLEInteger<QINT16>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier signé de 16 bits en format « little-endian » sur toutes les plateformes prises en charge par Qt.

Voir également qint16.

qint32_be

Définition de type pour QBEInteger<QINT32>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier signé de 32 bits en format « big-endian » sur toutes les plateformes prises en charge par Qt.

Voir également qint32.

qint32_le

Définition de type pour QLEInteger<QINT32>. Ce type est garanti d’être stocké en mémoire sous la forme d’un entier signé de 32 bits en format « little-endian » sur toutes les plateformes prises en charge par Qt.

Voir également qint32.

qint64_be

Définition de type pour QBEInteger<QINT64>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier signé de 64 bits en format « big-endian » sur toutes les plateformes prises en charge par Qt.

Voir aussi qint64.

qint64_le

Définition de type pour QLEInteger<QINT64>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier signé de 64 bits en format « little-endian » sur toutes les plateformes prises en charge par Qt.

Voir également qint64.

quint16_be

Définition de type pour QBEInteger<QUINT16>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier non signé de 16 bits en format « big-endian » sur toutes les plateformes prises en charge par Qt.

Voir également quint16.

quint16_le

Définition de type pour QLEInteger<QUINT16>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier non signé de 16 bits en format little-endian sur toutes les plateformes prises en charge par Qt.

Voir aussi quint16.

quint32_be

Définition de type pour QBEInteger<QUINT32>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier non signé de 32 bits en ordre « big-endian » sur toutes les plateformes prises en charge par Qt.

Voir également quint32.

quint32_le

Définition de type pour QLEInteger<QUINT32>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier non signé de 32 bits en format « little-endian » sur toutes les plateformes prises en charge par Qt.

Voir également quint32.

quint64_be

Définition de type pour QBEInteger<QUINT64>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier non signé de 64 bits en big-endian sur toutes les plateformes prises en charge par Qt.

Voir également quint64.

quint64_le

Définition de type pour QLEInteger<QUINT64>. Ce type est garanti d'être stocké en mémoire sous la forme d'un entier non signé de 64 bits en format « little-endian » sur toutes les plateformes prises en charge par Qt.

Voir également quint64.

Documentation des fonctions

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

Lit un nombre au format « big-endian » à l'adresse mémoire src et renvoie ce nombre dans le format d'ordonnancement des octets de l'hôte. Sur les architectures CPU où l'ordonnancement des octets de l'hôte est de type « little-endian » (comme x86), cette fonction inverse l'ordre des octets ; dans le cas contraire, elle se contente de lire la valeur à l'adresse src.

Remarque : le typede modèle T peut être soit un quint16, soit un qint16, soit un quint32, soit un qint32, soit un quint64, soit un qint64. Les autres types d’entiers, par exemple qlong, ne sont pas pris en charge.

Remarque : depuis Qt 5.7, le type du paramètre ` src ` est un pointeur `void`.

Il n’y a aucune contrainte d’alignement des données pour src.

Voir également ` qFromLittleEndian()`, ` qToBigEndian()` et ` qToLittleEndian()`.

template <typename T> void qFromBigEndian(const void *src, qsizetype count, void *dest)

Lit les nombres « big-endian » de type « count » à partir de l'adresse mémoire src et les stocke dans la représentation « host byte order » à l'adresse dest. Sur les architectures CPU où l'ordre des octets de l'hôte est « little-endian » (comme x86), cette opération inversera l'ordre des octets ; dans le cas contraire, elle effectuera simplement une opération de « memcpy » de src vers dest.

Remarque : le typede modèle T peut être soit un quint16, qint16, quint32, qint32, quint64, soit un qint64. Les autres types d’entiers, par exemple qlong, ne sont pas pris en charge.

Il n’y a aucune contrainte d’alignement des données pour ` src`. Cependant, ` dest ` doit être naturellement aligné pour le type ` T`.

Si ` src ` et ` dest ` peuvent être le même pointeur, cette fonction effectuera un échange sur place (si nécessaire). S’ils ne sont pas identiques, les zones de mémoire ne doivent pas se chevaucher.

Voir également qFromLittleEndian(), qToBigEndian() et qToLittleEndian().

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

Convertit la valeur src, dont l'ordre des octets est « big-endian », et renvoie cette valeur dans l'ordre des octets de l'hôte. Sur les architectures CPU où l'ordre des octets de l'hôte est « little-endian » (comme x86), cette fonction renvoie src avec l'ordre des octets inversé ; dans le cas contraire, elle renvoie src sans modification.

Il s'agit d'une fonction surchargée.

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

Lit un nombre au format « little-endian » à l'adresse mémoire src et renvoie ce nombre dans le format « big-endian » de l'hôte. Sur les architectures CPU où l'ordre des octets de l'hôte est « big-endian » (comme PowerPC), cette fonction inverse l'ordre des octets ; dans le cas contraire, elle se contente de lire la valeur à l'adresse src.

Remarque : le typede modèle T peut être soit un quint16, soit un qint16, soit un quint32, soit un qint32, soit un quint64, soit un qint64. Les autres types d’entiers, par exemple qlong, ne sont pas pris en charge.

Remarque : depuis Qt 5.7, le type du paramètre ` src ` est un pointeur `void`.

Il n’y a aucune contrainte d’alignement des données pour ` src`.

Voir également ` qFromBigEndian()`, ` qToBigEndian()` et ` qToLittleEndian()`.

template <typename T> void qFromLittleEndian(const void *src, qsizetype count, void *dest)

Lit des nombres « little-endian » de type « count » à l’adresse mémoire « src » et les stocke dans la représentation selon l’ordre des octets de l’hôte à l’adresse « dest ». Sur les architectures CPU où l’ordre des octets de l’hôte est « big-endian » (comme PowerPC), cette opération inversera l’ordre des octets ; dans le cas contraire, elle effectuera simplement une opération « memcpy » de « src » vers « dest ».

Remarque : le typede modèle T peut être soit un quint16, soit un qint16, soit un quint32, soit un qint32, soit un quint64, soit un qint64. Les autres types d’entiers, par exemple qlong, ne sont pas pris en charge.

Il n’y a aucune contrainte d’alignement des données pour ` src`. Cependant, ` dest ` doit être naturellement aligné pour le type ` T`.

Si ` src ` et ` dest ` peuvent être le même pointeur, cette fonction effectuera un échange sur place (si nécessaire). S’ils ne sont pas identiques, les régions de mémoire ne doivent pas se chevaucher.

Voir également qToBigEndian() et qToLittleEndian().

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

Convertit la valeur ` src ` de l'ordre des octets « little-endian » et renvoie cette valeur dans l'ordre des octets de l'hôte. Sur les architectures de processeur où l'ordre des octets de l'hôte est « big-endian » (comme PowerPC), cette fonction renvoie ` src ` avec l'ordre des octets inversé ; dans le cas contraire, elle renvoie ` src ` sans modification.

Il s'agit d'une fonction surchargée.

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

Écrit le nombre src, dont le type de modèle est T, à l'emplacement mémoire dest, selon l'ordre des octets « big-endian ».

Remarque : le typede modèle T peut être soit un quint16, soit un qint16, soit un quint32, soit un qint32, soit un quint64, soit un qint64. Les autres types d’entiers, par exemple qlong, ne sont pas pris en charge.

Il n’y a aucune contrainte d’alignement des données pour dest.

Remarque : depuis Qt 5.7, le type du paramètre ` dest ` est un pointeur vers `void`.

Voir également ` qFromBigEndian()`, ` qFromLittleEndian()` et ` qToLittleEndian()`.

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

Lit les nombres de type « count » à partir de l’emplacement mémoire src selon l’ordre des octets de l’hôte et les stocke en représentation « big-endian » à l’adresse dest. Sur les architectures CPU où l’ordre des octets de l’hôte est « little-endian » (comme x86), cette opération inversera l’ordre des octets ; dans le cas contraire, elle se contentera d’effectuer une opération de « memcpy » de src vers dest.

Remarque : le typede modèle T peut être soit un quint16, qint16, quint32, qint32, quint64, soit un qint64. Les autres types d’entiers, par exemple qlong, ne sont pas applicables.

Il n’y a aucune contrainte d’alignement des données pour ` dest`. Cependant, ` src ` doit être naturellement aligné pour le type ` T`.

Si ` src ` et ` dest ` peuvent être le même pointeur, cette fonction effectuera un échange sur place (si nécessaire). S’ils ne sont pas identiques, les zones de mémoire ne doivent pas se chevaucher.

Voir également qFromLittleEndian(), qToBigEndian() et qToLittleEndian().

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

Convertit la valeur src de l'ordre des octets de l'hôte et renvoie cette valeur sous la forme « big-endian ». Sur les architectures CPU où l'ordre des octets de l'hôte est « little-endian » (comme x86), cette fonction renvoie la valeur src avec l'ordre des octets inversé ; dans le cas contraire, elle renvoie la valeur src sans modification.

Il s'agit d'une fonction surchargée.

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

Écrit le nombre src, avec le type de modèle T, à l'emplacement mémoire dest, en ordre des octets « little-endian ».

Remarque : le typede modèle T peut être soit un quint16, un qint16, un quint32, un qint32, un quint64 ou un qint64. Les autres types d'entiers, par exemple qlong, ne sont pas pris en charge.

Il n’y a aucune contrainte d’alignement des données pour dest.

Remarque : depuis Qt 5.7, le type du paramètre ` dest ` est un pointeur `void`.

Voir également ` qFromBigEndian()`, ` qFromLittleEndian()` et ` qToBigEndian()`.

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

Lit les nombres de type « count » à partir de l'emplacement mémoire src selon l'ordre des octets de l'hôte et les stocke en représentation « little-endian » à l'adresse dest. Sur les architectures CPU où l'ordre des octets de l'hôte est « big-endian » (comme PowerPC), cette opération inversera l'ordre des octets ; dans le cas contraire, elle effectuera simplement une opération de « memcpy » de src vers dest.

Remarque : le typede modèle T peut être soit un quint16, soit un qint16, soit un quint32, soit un qint32, soit un quint64, soit un qint64. Les autres types d’entiers, par exemple qlong, ne sont pas pris en charge.

Il n’y a aucune contrainte d’alignement des données pour dest. Cependant, src doit être naturellement aligné pour le type T.

Si ` src ` et ` dest ` peuvent être le même pointeur, cette fonction effectuera un échange sur place (si nécessaire). S’ils ne sont pas identiques, les régions de mémoire ne doivent pas se chevaucher.

Voir également qFromLittleEndian(), qToBigEndian() et qToLittleEndian().

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

Convertit src à partir de l'ordre des octets de l'hôte et renvoie le nombre sous la forme « little-endian ». Sur les architectures de processeur où l'ordre des octets de l'hôte est « big-endian » (comme PowerPC), cette fonction renvoie src avec l'ordre des octets inversé ; dans le cas contraire, elle renvoie src sans modification.

Il s'agit d'une fonction surchargée.

© 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.