このページでは

QOpcUaBinaryDataEncoding Class

QOpcUaBinaryDataEncoding は、OPC UA 第 6 部で規定されている OPC UA バイナリデータエンコーディングの部分実装です。詳細...

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

パブリック関数

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

詳細な説明

拡張オブジェクトの読み取りおよび書き込みのためのデータエンコードおよびデコードを行うテンプレート関数を提供します。

以下の型がサポートされています:

Qt タイプOPC UA タイプ
quint8uint8
qint8int8
quint16uint16
qint16int16
quint32uint32
qint32int32
quint64uint64
qint64int64
floatfloat
doubledouble
QString文字列
QOpcUaQualifiedName修飾名
QOpcUaLocalizedTextローカライズされたテキスト
QOpcUaEUInformationEU情報
QOpcUaRange範囲
QOpcUaComplexNumber複素数
QOpcUaDoubleComplexNumber複素数
QOpcUaAxisInformation軸情報
QOpcUaXValueXV
QUuidGUID
QString ノードIDNodeId
QByteArrayByteString
QDateTimeDateTime
QOpcUa::UaStatusCodeステータスコード
QOpcUaExpandedNodeId展開済みノードID
QOpcUaExtensionObjectExtensionObject
QOpcUaArgument引数
QOpcUaDiagnosticInfo (Qt 6.7 以降)診断情報
QOpcUaApplicationRecordDataTypeApplicationRecordDataType
QOpcUaStructureDefinition (Qt 6.7 以降)構造体定義
QOpcUaStructureField (Qt 6.7 以降)構造体フィールド
QOpcUaEnumDefinition (Qt 6.7 以降)EnumDefinition
QOpcUaEnumField (Qt 6.7 以降)EnumField
QOpcUaVariant (Qt 6.7 以降)Variant
QOpcUaDataValue (Qt 6.7 以降)DataValue

メンバ関数のドキュメント

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QByteArray *buffer)

データバッファ `buffer` に対するバイナリデータエンコーディングオブジェクトを構築します。このバイナリデータエンコーディングオブジェクトが使用されている間は、`buffer ` を削除してはなりません。

QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object)

object のエンコード済み本体をデータバッファとして使用して、バイナリデータエンコーディングオブジェクトを構築します。

object このバイナリデータエンコーディングオブジェクトが使用されている間は、削除してはなりません。

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

OVERLAY で指定されたOPC UA組み込み型を使用して、データバッファから型Tのスカラー値をデコードします。デコードが成功した場合はsuccess がtrue に、失敗した場合はfalse に設定されます。

デコードされた値が返されます。success がfalseの場合、返される値は無効となります。

デコードの最大再帰深さは500 に制限されます。制限に達した場合、success は false に設定され、無効な値が返されます。

decodeArray()も参照してください 。

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

OVERLAY で指定されたOPC UA組み込み型を使用して、データバッファから型Tの配列をデコードします。デコードが成功した場合はsuccess にtrue が設定され、失敗した場合はfalse が設定されます。

デコードされた値が返されます。success がfalseの場合、返される値は無効となります。

デコードの最大再帰深さは500 に制限されます。制限に達した場合、success は false に設定され、無効な値が返されます。

decode()も参照してください 。

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

OVERLAY で指定された OPC UA 組み込み型を使用して、型 T のsrc をエンコードし、エンコードされた値をデータバッファに追加します。値のエンコードに成功した場合は、true を返します。

encodeArray()も参照してください 。

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

OVERLAY で指定される OPC UA 組み込み型を使用して、src 内の型 T のすべての要素をエンコードし、エンコードされた値をデータバッファに追加します。

値のエンコードが正常に完了した場合、true を返します。

encode()も参照してください 。

int QOpcUaBinaryDataEncoding::offset() const

データバッファ内の現在のオフセットを返します。

setOffset()も参照してください 。

void QOpcUaBinaryDataEncoding::setOffset(int offset)

データバッファ内の現在のオフセットを `offset` に設定します。バッファの最初のバイトのオフセットは 0 です。

offset()も参照してください 。

void QOpcUaBinaryDataEncoding::truncateBufferToOffset()

データバッファを現在のoffset()の位置まで切り詰めます。オフセットが現在のバッファサイズより後ろにある場合、このメソッドは何も行いません。

このメソッドは、エンコードに失敗した後、以前のオフセットを設定して 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.