構造体エディタ
概要
構造体定義 1 件のフィールドを定義します。バイト列の先頭から順にフィールドを並べ、定義が正しく機能するかプレビューで確認できます。構造体ライブラリの「追加」または「編集」から開きます。
画面項目一覧
名前
| 項目 | 説明 |
|---|---|
| 名前 | 構造体定義の表示名。構造体ルールや判別条件から参照されるため、わかりやすい名前を付ける |
判別条件
複数の構造体定義を登録している場合に、受信データ中の特定フィールドの値で「どの定義を適用するか」を自動判別するための設定です。
| 項目 | 説明 |
|---|---|
| 「判別フィールドで適用を分岐する」チェックボックス | ON にすると判別条件が有効になる。OFF のときは判別フィールド名・一致値の欄がグレーアウト |
| 判別フィールド名 | 判別に使うフィールドの名前。下のフィールド定義テーブルの「名前」列と一致させる |
| 一致値(0x10 / 16) | 判別フィールドがこの値のとき本定義を適用する。16 進(例: 0x10)・10 進(例: 16)どちらでも入力可 |
フィールド定義テーブル
バイト列の先頭から順にフィールドを並べます。各行が 1 フィールドです。
| 列 | 説明 |
|---|---|
| 名前 | フィールドの識別名。条件・テンプレートから参照する際に使う |
| 型 | フィールドのデータ型。選択肢: U8 / U16 / U32 / U64(符号なし整数)、I8 / I16 / I32 / I64(符号あり整数)、F32 / F64(浮動小数点)、Ascii(ASCII 文字列)、Hex(生バイト列)、Bcd(パック BCD)、Array(配列)、Nested(ネスト構造体) |
| 役割 | フィールドの特別な役割。選択肢: None(なし)/ Length(後続データの長さを示す)/ Checksum(CRC/チェックサム)/ Discriminator(定義の判別に使う) |
| 固定長 | 型が Hex / Ascii のときに使う固定バイト数(省略可) |
| 長さ元 | 可変長フィールドのバイト数を参照する別フィールドの名前(省略可) |
| 個数元 | Array フィールドの要素数を参照する別フィールドの名前(省略可) |
フィールドテーブルのボタン:
| ボタン | 説明 |
|---|---|
| 行追加 | 末尾に新しいフィールド行を追加する |
| 行削除 | 選択中の行を削除する |
| ↑ | 選択中の行を 1 つ上へ移動する |
| ↓ | 選択中の行を 1 つ下へ移動する |
プレビュー
定義が正しく機能するか確認できます。
| 項目 | 説明 |
|---|---|
| HEX 入力欄 | テストしたいバイト列を HEX で入力する(例: 00 10 00 05 48 65 6C 6C 6F) |
| 「パース」ボタン | 入力した HEX を定義に当てはめてパース結果を表示する |
| 結果表示欄 | パース成否とフィールドごとの値・オフセット・バイト数を表示する |