メインコンテンツまでスキップ

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:

  1. 推奨シリアライゼーション規則を使用する
  2. マップのキーを辞書順にソートする
  3. 重複するマップキーを生成しない

4.2.2. Additional Deterministic Encoding Considerations (追加の決定論的エンコーディング考慮事項)

アプリケーション仕様は、浮点数表現の決定論的処理を定義する MAY (可能):

  • NaN の正規化
  • ゼロ符号の処理
  • 最短浮点数表現の選択

4.3. Core Deterministic Encoding Requirements (コア決定論的エンコーディング要件の詳細)

CBOR データ項目の決定論的エンコーディングでは:

  • 引数の値は可能な限り小さい長さで表現する MUST
  • マップのキー/値ペアの定義順序は、キーのバイト表現の辞書順である MUST
  • 同じキーを持つ 2 つのエントリがマップに表示されてはならない MUST NOT