QOpcUaBinaryDataEncoding Class

QOpcUaBinaryDataEncoding ist eine Teilimplementierung der OPC UA Binärdatenkodierung, die in OPC UA Teil 6 beschrieben ist. Mehr...

Kopfzeile: #include <QOpcUaBinaryDataEncoding>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake: QT += opcua

Öffentliche Funktionen

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()

Detaillierte Beschreibung

Bietet Schablonenfunktionen zur Kodierung und Dekodierung von Daten zum Lesen und Schreiben von Erweiterungsobjekten.

Die folgenden Typen werden unterstützt:

Qt-TypOPC UA-Typ
quint8uint8
qint8int8
quint16uint16
qint16int16
quint32uint32
qint32int32
quint64uint64
qint64int64
Floatfloat
doubledouble
QStringZeichenfolge
QOpcUaQualifiedNameQualifizierterName
QOpcUaLocalizedTextLocalizedText
QOpcUaEUInformationEU-Informationen
QOpcUaRangeBereich
QOpcUaComplexNumberKomplexeZahl
QOpcUaDoubleComplexNumberDoubleComplexNumber
QOpcUaAxisInformationAchsen-Information
QOpcUaXValueXV
QUuidGUID
QString Knoten-IDNodeId
QByteArrayByteString
QDateTimeDatumZeit
QOpcUa::UaStatusCodeStatusCode
QOpcUaExpandedNodeIdExpandedNodeId
QOpcUaExtensionObjectErweiterungsObjekt
QOpcUaArgumentArgument
QOpcUaDiagnosticInfo (seit Qt 6.7)DiagnoseInfo
QOpcUaApplicationRecordDataTypeApplicationRecordDataType
QOpcUaStructureDefinition (seit Qt 6.7)StructureDefintion
QOpcUaStructureField (seit Qt 6.7)StrukturFeld
QOpcUaEnumDefinition (seit Qt 6.7)EnumDefintion
QOpcUaEnumField (seit Qt 6.7)EnumField
QOpcUaVariant (seit Qt 6.7)Variante
QOpcUaDataValue (seit Qt 6.7)DataValue

Dokumentation der Mitgliedsfunktionen

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QByteArray *buffer)

Konstruiert ein Binärdaten-Kodierungsobjekt für den Datenpuffer buffer. buffer darf nicht gelöscht werden, solange dieses Binärdaten-Kodierungsobjekt verwendet wird.

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object)

Konstruiert ein Binärdaten-Kodierungsobjekt unter Verwendung des kodierten Körpers von object als Datenpuffer.

object darf nicht gelöscht werden, solange dieses Binärdaten-Kodierungsobjekt verwendet wird.

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

Dekodiert einen Einzelwert vom Typ T aus dem Datenpuffer. success wird auf true gesetzt, wenn die Dekodierung erfolgreich war, andernfalls auf false.

Der dekodierte Wert wird zurückgegeben. Wenn success falsch ist, ist der zurückgegebene Wert ungültig.

Siehe auch decodeArray().

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

Dekodiert ein Array vom Typ T aus dem Datenpuffer. success wird auf true gesetzt, wenn die Dekodierung erfolgreich war, andernfalls auf false.

Der dekodierte Wert wird zurückgegeben. Wenn success falsch ist, ist der zurückgegebene Wert ungültig.

Siehe auch decode().

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

Verschlüsselt src vom Typ T und hängt den verschlüsselten Wert an den Datenpuffer an. Gibt true zurück, wenn der Wert erfolgreich kodiert wurde.

Siehe auch encodeArray().

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

Kodiert alle Elemente vom Typ T in src und hängt die kodierten Werte an den Datenpuffer an.

Gibt true zurück, wenn der Wert erfolgreich kodiert wurde.

Siehe auch encode().

int QOpcUaBinaryDataEncoding::offset() const

Gibt den aktuellen Offset im Datenpuffer zurück.

Siehe auch setOffset().

void QOpcUaBinaryDataEncoding::setOffset(int offset)

Setzt den aktuellen Offset im Datenpuffer auf offset. Das erste Byte im Puffer hat den Offset 0.

Siehe auch offset().

void QOpcUaBinaryDataEncoding::truncateBufferToOffset()

Schneidet den Datenpuffer auf den aktuellen offset() ab. Wenn der Offset hinter der aktuellen Puffergröße liegt, bewirkt diese Methode nichts.

Diese Methode kann verwendet werden, um nach einer fehlgeschlagenen Kodierung den alten Offset wiederherzustellen, indem der alte Offset gesetzt und truncateBufferToOffset() aufgerufen wird.

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