Appendice B. Jump Table
Per brevità, questa jump table non mostra i byte iniziali riservati a future estensioni. Mostra anche solo una selezione dei byte iniziali che possono essere utilizzati per funzionalità opzionali. (Tutti gli interi senza segno sono in ordine di byte di rete.)
| Byte | Struttura/Semantica |
|---|---|
| 0x00..0x17 | Intero 0x00..0x17 (0..23) |
| 0x18 | Intero senza segno (segue un uint8_t di un byte) |
| 0x19 | Intero senza segno (seguono due byte uint16_t) |
| 0x1a | Intero senza segno (seguono quattro byte uint32_t) |
| 0x1b | Intero senza segno (seguono otto byte uint64_t) |
| 0x20..0x37 | Intero negativo -1-0x00..-1-0x17 (-1..-24) |
| 0x38 | Intero negativo -1-n (segue un uint8_t di un byte per n) |
| 0x39 | Intero negativo -1-n (seguono due byte uint16_t per n) |
| 0x3a | Intero negativo -1-n (seguono quattro byte uint32_t per n) |
| 0x3b | Intero negativo -1-n (seguono otto byte uint64_t per n) |
| 0x40..0x57 | stringa di byte (seguono 0x00..0x17 byte) |
| 0x58 | stringa di byte (un uint8_t di un byte per n, poi seguono n byte) |
| 0x59 | stringa di byte (due byte uint16_t per n, poi seguono n byte) |
| 0x5a | stringa di byte (quattro byte uint32_t per n, poi seguono n byte) |
| 0x5b | stringa di byte (otto byte uint64_t per n, poi seguono n byte) |
| 0x5f | stringa di byte, seguono stringhe di byte, terminata da "break" |
| 0x60..0x77 | stringa UTF-8 (seguono 0x00..0x17 byte) |
| 0x78 | stringa UTF-8 (un uint8_t di un byte per n, poi seguono n byte) |
| 0x79 | stringa UTF-8 (due byte uint16_t per n, poi seguono n byte) |
| 0x7a | stringa UTF-8 (quattro byte uint32_t per n, poi seguono n byte) |
| 0x7b | stringa UTF-8 (otto byte uint64_t per n, poi seguono n byte) |
| 0x7f | stringa UTF-8, seguono stringhe UTF-8, terminata da "break" |
| 0x80..0x97 | array (seguono 0x00..0x17 elementi dati) |
| 0x98 | array (un uint8_t di un byte per n, poi seguono n elementi dati) |
| 0x99 | array (due byte uint16_t per n, poi seguono n elementi dati) |
| 0x9a | array (quattro byte uint32_t per n, poi seguono n elementi dati) |
| 0x9b | array (otto byte uint64_t per n, poi seguono n elementi dati) |
| 0x9f | array, seguono elementi dati, terminato da "break" |
| 0xa0..0xb7 | mappa (seguono 0x00..0x17 coppie di elementi dati) |
| 0xb8 | mappa (un uint8_t di un byte per n, poi seguono n coppie di elementi dati) |
| 0xb9 | mappa (due byte uint16_t per n, poi seguono n coppie di elementi dati) |
| 0xba | mappa (quattro byte uint32_t per n, poi seguono n coppie di elementi dati) |
| 0xbb | mappa (otto byte uint64_t per n, poi seguono n coppie di elementi dati) |
| 0xbf | mappa, seguono coppie di elementi dati, terminata da "break" |
| 0xc0 | Data/ora basata su testo (segue un elemento dati; vedere la Sezione 2.4.1) |
| 0xc1 | Data/ora basata su epoch (segue un elemento dati; vedere la Sezione 2.4.1) |
| 0xc2 | Bignum positivo (segue l'elemento dati "stringa di byte") |
| 0xc3 | Bignum negativo (segue l'elemento dati "stringa di byte") |
| 0xc4 | Frazione decimale (segue l'elemento dati "array"; vedere la Sezione 2.4.3) |
| 0xc5 | Bigfloat (segue l'elemento dati "array"; vedere la Sezione 2.4.3) |
| 0xc6..0xd4 | (elemento con tag) |
| 0xd5..0xd7 | Conversione prevista (segue un elemento dati; vedere la Sezione 2.4.4.2) |
| 0xd8..0xdb | (altri elementi con tag, seguono 1/2/4/8 byte e poi un elemento dati) |
| 0xe0..0xf3 | (valore simple) |
| 0xf4 | False |
| 0xf5 | True |
| 0xf6 | Null |
| 0xf7 | Undefined |
| 0xf8 | (valore simple, segue un byte) |
| 0xf9 | Float a metà precisione (IEEE 754 a due byte) |
| 0xfa | Float a precisione singola (IEEE 754 a quattro byte) |
| 0xfb | Float a doppia precisione (IEEE 754 a otto byte) |
| 0xff | codice di arresto "break" |
Tabella 5: Jump Table per il byte iniziale