付録 B. ジャンプテーブル
簡潔にするため、このジャンプテーブルは将来の拡張のために予約されている初期バイトを示しません。また、オプション機能に使用できる初期バイトの一部のみを示します。(すべての符号なし整数はネットワークバイトオーダーです。)
| バイト | 構造/意味 |
|---|---|
| 0x00..0x17 | 整数 0x00..0x17 (0..23) |
| 0x18 | 符号なし整数 (1 バイトの uint8_t が後続) |
| 0x19 | 符号なし整数 (2 バイトの uint16_t が後続) |
| 0x1a | 符号なし整数 (4 バイトの uint32_t が後続) |
| 0x1b | 符号なし整数 (8 バイトの uint64_t が後続) |
| 0x20..0x37 | 負の整数 -1-0x00..-1-0x17 (-1..-24) |
| 0x38 | 負の整数 -1-n (n のための 1 バイト uint8_t が後続) |
| 0x39 | 負の整数 -1-n (n のための 2 バイト uint16_t が後続) |
| 0x3a | 負の整数 -1-n (n のための 4 バイト uint32_t が後続) |
| 0x3b | 負の整数 -1-n (n のための 8 バイト uint64_t が後続) |
| 0x40..0x57 | バイト文字列 (0x00..0x17 バイトが後続) |
| 0x58 | バイト文字列 (n のための 1 バイト uint8_t、その後 n バイトが後続) |
| 0x59 | バイト文字列 (n のための 2 バイト uint16_t、その後 n バイトが後続) |
| 0x5a | バイト文字列 (n のための 4 バイト uint32_t、その後 n バイトが後続) |
| 0x5b | バイト文字列 (n のための 8 バイト uint64_t、その後 n バイトが後続) |
| 0x5f | バイト文字列、バイト文字列が後続し、"break" で終了 |
| 0x60..0x77 | UTF-8 文字列 (0x00..0x17 バイトが後続) |
| 0x78 | UTF-8 文字列 (n のための 1 バイト uint8_t、その後 n バイトが後続) |
| 0x79 | UTF-8 文字列 (n のための 2 バイト uint16_t、その後 n バイトが後続) |
| 0x7a | UTF-8 文字列 (n のための 4 バイト uint32_t、その後 n バイトが後続) |
| 0x7b | UTF-8 文字列 (n のための 8 バイト uint64_t、その後 n バイトが後続) |
| 0x7f | UTF-8 文字列、UTF-8 文字列が後続し、"break" で終了 |
| 0x80..0x97 | 配列 (0x00..0x17 個のデータ項目が後続) |
| 0x98 | 配列 (n のための 1 バイト uint8_t、その後 n 個のデータ項目が後続) |
| 0x99 | 配列 (n のための 2 バイト uint16_t、その後 n 個のデータ項目が後続) |
| 0x9a | 配列 (n のための 4 バイト uint32_t、その後 n 個のデータ項目が後続) |
| 0x9b | 配列 (n のための 8 バイト uint64_t、その後 n 個のデータ項目が後続) |
| 0x9f | 配列、データ項目が後続し、"break" で終了 |
| 0xa0..0xb7 | マップ (0x00..0x17 組のデータ項目が後続) |
| 0xb8 | マップ (n のための 1 バイト uint8_t、その後 n 組のデータ項目が後続) |
| 0xb9 | マップ (n のための 2 バイト uint16_t、その後 n 組のデータ項目が後続) |
| 0xba | マップ (n のための 4 バイト uint32_t、その後 n 組のデータ項目が後続) |
| 0xbb | マップ (n のための 8 バイト uint64_t、その後 n 組のデータ項目が後続) |
| 0xbf | マップ、データ項目の組が後続し、"break" で終了 |
| 0xc0 | テキストベースの日付/時刻 (データ項目が後続。セクション 2.4.1 を参照) |
| 0xc1 | エポックベースの日付/時刻 (データ項目が後続。セクション 2.4.1 を参照) |
| 0xc2 | 正のビッグナム (データ項目「バイト文字列」が後続) |
| 0xc3 | 負のビッグナム (データ項目「バイト文字列」が後続) |
| 0xc4 | 10 進小数 (データ項目「配列」が後続。セクション 2.4.3 を参照) |
| 0xc5 | ビッグフロート (データ項目「配列」が後続。セクション 2.4.3 を参照) |
| 0xc6..0xd4 | (タグ付き項目) |
| 0xd5..0xd7 | 予期される変換 (データ項目が後続。セクション 2.4.4.2 を参照) |
| 0xd8..0xdb | (その他のタグ付き項目。1/2/4/8 バイトが後続し、その後データ項目が後続) |
| 0xe0..0xf3 | (シンプル値) |
| 0xf4 | False |
| 0xf5 | True |
| 0xf6 | Null |
| 0xf7 | Undefined |
| 0xf8 | (シンプル値、1 バイトが後続) |
| 0xf9 | 半精度浮動小数点数 (2 バイト IEEE 754) |
| 0xfa | 単精度浮動小数点数 (4 バイト IEEE 754) |
| 0xfb | 倍精度浮動小数点数 (8 バイト IEEE 754) |
| 0xff | "break" 停止コード |
表 5: 初期バイトのジャンプテーブル