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 Qt | Type OPC UA |
|---|---|
| quint8 | uint8 |
| qint8 | int8 |
| quint16 | uint16 |
| qint16 | int16 |
| quint32 | uint32 |
| qint32 | int32 |
| quint64 | uint64 |
| qint64 | int64 |
| float | float |
| double | double |
| QString | Chaîne |
| QOpcUaQualifiedName | Nom qualifié |
| QOpcUaLocalizedText | Texte localisé |
| QOpcUaEUInformation | InformationsUE |
| QOpcUaRange | Plage |
| QOpcUaComplexNumber | NombreComplexe |
| QOpcUaDoubleComplexNumber | NombreComplexeDouble |
| QOpcUaAxisInformation | Informations sur les axes |
| QOpcUaXValue | XV |
| QUuid | GUID |
| QString ID du nœud | NodeId |
| QByteArray | ByteString |
| QDateTime | DateTime |
| QOpcUa::UaStatusCode | Code d'état |
| QOpcUaExpandedNodeId | ID du nœud développé |
| QOpcUaExtensionObject | Objet d'extension |
| QOpcUaArgument | Argument |
| QOpcUaDiagnosticInfo (depuis Qt 6.7) | Informations de diagnostic |
| QOpcUaApplicationRecordDataType | ApplicationRecordDataType |
| 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.