4. Serialization Considerations (シリアライゼーション考慮事項)
4.1. Preferred Serialization (推奨シリアライゼーション)
推奨シリアライゼーション (Preferred Serialization) は、可能な限り短いバイトシーケンスを使用する CBOR エンコーディング形式です。
主な要件:
- 整数値には最短エンコーディングを使用する MUST (必須)
- 長さプレフィックス付きデータ項目には最短長さエンコーディングを使用する MUST
- 不定長エンコーディングは使用しない MUST NOT (禁止)
4.2. Deterministically Encoded CBOR (決定論的エンコード CBOR)
決定論的エンコード (Deterministic Encoding) は、特定のデータモデルに対して常に同じバイト表現を生成します。
4.2.1. Core Deterministic Encoding Requirements (コア決定論的エンコーディング要件)
エンコーダーは以下に従う MUST:
- 推奨シリアライゼーション規則を使用する
- マップのキーを辞書順にソートする
- 重複するマップキーを生成しない
4.2.2. Additional Deterministic Encoding Considerations (追加の決定論的エンコーディング考慮事項)
アプリケーション仕様は、浮点数表現の決定論的処理を定義する MAY (可能):
- NaN の正規化
- ゼロ符号の処理
- 最短浮点数表現の選択
4.3. Core Deterministic Encoding Requirements (コア決定論的エンコーディング要件の詳細)
CBOR データ項目の決定論的エンコーディングでは:
- 引数の値は可能な限り小さい長さで表現する MUST
- マップのキー/値ペアの定義順序は、キーのバイト表現の辞書順である MUST
- 同じキーを持つ 2 つのエントリがマップに表示されてはならない MUST NOT