Sur cette page

QOpcUaBinaryDataEncoding Class

QOpcUaBinaryDataEncoding est une implémentation partielle du codage des données binaires OPC UA décrit dans la partie 6 de la norme OPC UA. En savoir plus...

En-tête : #include <QOpcUaBinaryDataEncoding>
CMake : find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake : QT += opcua

Fonctions publiques

QOpcUaBinaryDataEncoding(QByteArray *buffer)
QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object)
T decode(bool &success)
QList<T> decodeArray(bool &success)
bool encode(const T &src)
bool encodeArray(const QList<T> &src)
int offset() const
void setOffset(int offset)
void truncateBufferToOffset()

Description détaillée

Elle propose des fonctions modèles pour l'encodage et le décodage des données en vue de la lecture et de l'écriture d'objets d'extension.

Les types suivants sont pris en charge :

Type QtType OPC UA
quint8uint8
qint8int8
quint16uint16
qint16int16
quint32uint32
qint32int32
quint64uint64
qint64int64
floatfloat
doubledouble
QStringChaîne
QOpcUaQualifiedNameNom qualifié
QOpcUaLocalizedTextTexte localisé
QOpcUaEUInformationInformationsUE
QOpcUaRangePlage
QOpcUaComplexNumberNombreComplexe
QOpcUaDoubleComplexNumberNombreComplexeDouble
QOpcUaAxisInformationInformations sur les axes
QOpcUaXValueXV
QUuidGUID
QString ID du nœudNodeId
QByteArrayByteString
QDateTimeDateTime
QOpcUa::UaStatusCodeCode d'état
QOpcUaExpandedNodeIdID du nœud développé
QOpcUaExtensionObjectObjet d'extension
QOpcUaArgumentArgument
QOpcUaDiagnosticInfo (depuis Qt 6.7)Informations de diagnostic
QOpcUaApplicationRecordDataTypeApplicationRecordDataType
QOpcUaStructureDefinition (depuis Qt 6.7)StructureDefintion
QOpcUaStructureField (depuis Qt 6.7)Champ de structure
QOpcUaEnumDefinition (depuis Qt 6.7)EnumDefinition
QOpcUaEnumField (depuis Qt 6.7)EnumField
QOpcUaVariant (depuis Qt 6.7)Variant
QOpcUaDataValue (depuis Qt 6.7)DataValue

Documentation des fonctions membres

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QByteArray *buffer)

Crée un objet d'encodage de données binaires pour le tampon de données buffer. buffer ne doit pas être supprimé tant que cet objet d'encodage de données binaires est utilisé.

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object)

Crée un objet d'encodage de données binaires en utilisant le corps encodé de object comme tampon de données.

object Ne doit pas être supprimé tant que cet objet d'encodage de données binaires est utilisé.

template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> T QOpcUaBinaryDataEncoding::decode(bool &success)

Décode une valeur scalaire de type T à partir du tampon de données à l'aide du type intégré OPC UA spécifié par ` OVERLAY`. La variable ` success ` prend la valeur ` true ` si le décodage a réussi, et ` false ` dans le cas contraire.

La valeur décodée est renvoyée. Si success est faux, la valeur renvoyée n’est pas valide.

La profondeur maximale de récursion pour le décodage est limitée à 500. Si la limite est atteinte, success est défini sur false et une valeur non valide est renvoyée.

Voir également decodeArray().

template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> QList<T> QOpcUaBinaryDataEncoding::decodeArray(bool &success)

Décode un tableau de type T à partir du tampon de données en utilisant le type intégré OPC UA spécifié par ` OVERLAY`. La variable ` success ` prend la valeur ` true ` si le décodage a réussi, et ` false ` dans le cas contraire.

La valeur décodée est renvoyée. Si success est faux, la valeur renvoyée n’est pas valide.

La profondeur maximale de récursion pour le décodage est limitée à 500. Si la limite est atteinte, success est défini sur false et une valeur non valide est renvoyée.

Voir également decode().

template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> bool QOpcUaBinaryDataEncoding::encode(const T &src)

Encode src de type T à l'aide du type intégré OPC UA spécifié par OVERLAY et ajoute la valeur encodée à la mémoire tampon de données. Renvoie true si la valeur a été encodée avec succès.

Voir également encodeArray().

template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> bool QOpcUaBinaryDataEncoding::encodeArray(const QList<T> &src)

Encode tous les éléments de type T dans src à l'aide du type intégré OPC UA spécifié par OVERLAY, puis ajoute les valeurs encodées à la mémoire tampon de données.

Renvoie true si la valeur a été encodée avec succès.

Voir également encode().

int QOpcUaBinaryDataEncoding::offset() const

Renvoie l'offset actuel dans le tampon de données.

Voir également setOffset().

void QOpcUaBinaryDataEncoding::setOffset(int offset)

Définit l'offset actuel dans le tampon de données à offset. Le premier octet du tampon a un offset de 0.

Voir également offset().

void QOpcUaBinaryDataEncoding::truncateBufferToOffset()

Tronque le tampon de données à l'offset e () actuel. Si l'offset se trouve en deçà de la taille actuelle du tampon, cette méthode ne fait rien.

Cette méthode peut être utilisée pour revenir en arrière après un encodage ayant échoué, en définissant l'ancien décalage et en appelant `truncateBufferToOffset()`.

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