Auf dieser Seite

QOpcUaBinaryDataEncoding Class

QOpcUaBinaryDataEncoding ist eine teilweise Implementierung der in OPC UA Teil 6 beschriebenen binären Datenkodierung für OPC UA. Mehr...

Header: #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()

Ausführliche Beschreibung

Es bietet Vorlagenfunktionen zum Kodieren und Dekodieren 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
QStringZeichenkette
QOpcUaQualifiedNameQualifizierterName
QOpcUaLocalizedTextLokalisierterText
QOpcUaEUInformationEU-Informationen
QOpcUaRangeBereich
QOpcUaComplexNumberKomplexeZahl
QOpcUaDoubleComplexNumberDoppelte komplexe Zahl
QOpcUaAxisInformationAchseninformationen
QOpcUaXValueXV
QUuidGUID
QString Knoten-IDKnoten-ID
QByteArrayByteString
QDateTimeDateTime
QOpcUa::UaStatusCodeStatusCode
QOpcUaExpandedNodeIdErweiterteKnoten-ID
QOpcUaExtensionObjectErweiterungsobjekt
QOpcUaArgumentArgument
QOpcUaDiagnosticInfo (seit Qt 6.7)Diagnoseinfo
QOpcUaApplicationRecordDataTypeAnwendungsdatensatz-Datentyp
QOpcUaStructureDefinition (seit Qt 6.7)Strukturdefinition
QOpcUaStructureField (seit Qt 6.7)Strukturfeld
QOpcUaEnumDefinition (seit Qt 6.7)EnumDefinition
QOpcUaEnumField (seit Qt 6.7)EnumField
QOpcUaVariant (seit Qt 6.7)Variant
QOpcUaDataValue (seit Qt 6.7)DataValue

Dokumentation zu den Member-Funktionen

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QByteArray *buffer)

Erstellt ein Objekt zur Kodierung binärer Daten für den Datenpuffer „ buffer “. „ buffer “ darf nicht gelöscht werden, solange dieses Objekt zur Kodierung binärer Daten verwendet wird.

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object)

Erstellt ein Objekt zur Kodierung binärer Daten, wobei der kodierte Hauptteil von object als Datenpuffer verwendet wird.

object Darf nicht gelöscht werden, solange dieses Objekt zur Kodierung binärer Daten verwendet wird.

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

Dekodiert einen Skalarwert vom Typ T aus dem Datenpuffer unter Verwendung des durch „ OVERLAY “ angegebenen integrierten OPC-UA-Typs. „ success “ wird auf „ true “ gesetzt, wenn die Dekodierung erfolgreich war, andernfalls auf „ false “.

Der decodierte Wert wird zurückgegeben. Ist success falsch, ist der zurückgegebene Wert ungültig.

Die maximale Rekursionstiefe für die Dekodierung ist auf ` 500` begrenzt. Wird diese Grenze erreicht, wird ` success ` auf `false` gesetzt und ein ungültiger Wert zurückgegeben.

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 unter Verwendung des durch „ OVERLAY “ angegebenen integrierten OPC-UA-Typs. „ success “ wird auf „ true “ gesetzt, wenn die Dekodierung erfolgreich war, andernfalls auf „ false “.

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

Die maximale Rekursionstiefe für die Dekodierung ist auf 500 begrenzt. Wird das Limit erreicht, wird success auf false gesetzt und ein ungültiger Wert zurückgegeben.

Siehe auch ` decode()`.

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

Kodiert „ src “ vom Typ T unter Verwendung des in „ OVERLAY “ spezifizierten integrierten OPC-UA-Typs und hängt den kodierten 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 “ unter Verwendung des in OVERLAY spezifizierten integrierten OPC-UA-Typs 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()

Kürzt den Datenpuffer auf den aktuellen Offset ( offset()). Liegt der Offset hinter der aktuellen Puffergröße, führt diese Methode keine Aktion aus.

Diese Methode kann verwendet werden, um nach einer fehlgeschlagenen Kodierung einen Rollback durchzuführen, indem der alte Offset gesetzt und `truncateBufferToOffset()` aufgerufen wird.

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