Zum Hauptinhalt springen

Anhang B. Sprungtabelle

Aus Gründen der Kürze zeigt diese Sprungtabelle keine Anfangsbytes, die für künftige Erweiterungen reserviert sind. Sie zeigt außerdem nur eine Auswahl der Anfangsbytes, die für optionale Merkmale verwendet werden können. (Alle vorzeichenlosen ganzen Zahlen sind in Netzwerk-Byte-Reihenfolge.)

ByteStruktur/Semantik
0x00..0x17Ganze Zahl 0x00..0x17 (0..23)
0x18Vorzeichenlose ganze Zahl (es folgt ein Ein-Byte-uint8_t)
0x19Vorzeichenlose ganze Zahl (es folgen zwei Byte uint16_t)
0x1aVorzeichenlose ganze Zahl (es folgen vier Byte uint32_t)
0x1bVorzeichenlose ganze Zahl (es folgen acht Byte uint64_t)
0x20..0x37Negative ganze Zahl -1-0x00..-1-0x17 (-1..-24)
0x38Negative ganze Zahl -1-n (es folgt ein Ein-Byte-uint8_t für n)
0x39Negative ganze Zahl -1-n (es folgen zwei Byte uint16_t für n)
0x3aNegative ganze Zahl -1-n (es folgen vier Byte uint32_t für n)
0x3bNegative ganze Zahl -1-n (es folgen acht Byte uint64_t für n)
0x40..0x57Byte-Zeichenfolge (es folgen 0x00..0x17 Byte)
0x58Byte-Zeichenfolge (ein Ein-Byte-uint8_t für n, dann folgen n Byte)
0x59Byte-Zeichenfolge (zwei Byte uint16_t für n, dann folgen n Byte)
0x5aByte-Zeichenfolge (vier Byte uint32_t für n, dann folgen n Byte)
0x5bByte-Zeichenfolge (acht Byte uint64_t für n, dann folgen n Byte)
0x5fByte-Zeichenfolge, es folgen Byte-Zeichenfolgen, abgeschlossen durch "break"
0x60..0x77UTF-8-Zeichenfolge (es folgen 0x00..0x17 Byte)
0x78UTF-8-Zeichenfolge (ein Ein-Byte-uint8_t für n, dann folgen n Byte)
0x79UTF-8-Zeichenfolge (zwei Byte uint16_t für n, dann folgen n Byte)
0x7aUTF-8-Zeichenfolge (vier Byte uint32_t für n, dann folgen n Byte)
0x7bUTF-8-Zeichenfolge (acht Byte uint64_t für n, dann folgen n Byte)
0x7fUTF-8-Zeichenfolge, es folgen UTF-8-Zeichenfolgen, abgeschlossen durch "break"
0x80..0x97Array (es folgen 0x00..0x17 Datenelemente)
0x98Array (ein Ein-Byte-uint8_t für n, dann folgen n Datenelemente)
0x99Array (zwei Byte uint16_t für n, dann folgen n Datenelemente)
0x9aArray (vier Byte uint32_t für n, dann folgen n Datenelemente)
0x9bArray (acht Byte uint64_t für n, dann folgen n Datenelemente)
0x9fArray, es folgen Datenelemente, abgeschlossen durch "break"
0xa0..0xb7Map (es folgen 0x00..0x17 Paare von Datenelementen)
0xb8Map (ein Ein-Byte-uint8_t für n, dann folgen n Paare von Datenelementen)
0xb9Map (zwei Byte uint16_t für n, dann folgen n Paare von Datenelementen)
0xbaMap (vier Byte uint32_t für n, dann folgen n Paare von Datenelementen)
0xbbMap (acht Byte uint64_t für n, dann folgen n Paare von Datenelementen)
0xbfMap, es folgen Paare von Datenelementen, abgeschlossen durch "break"
0xc0Textbasierte Datums-/Zeitangabe (es folgt ein Datenelement; siehe Abschnitt 2.4.1)
0xc1Epochenbasierte Datums-/Zeitangabe (es folgt ein Datenelement; siehe Abschnitt 2.4.1)
0xc2Positives Bignum (es folgt das Datenelement "Byte-Zeichenfolge")
0xc3Negatives Bignum (es folgt das Datenelement "Byte-Zeichenfolge")
0xc4Dezimalbruch (es folgt das Datenelement "Array"; siehe Abschnitt 2.4.3)
0xc5Bigfloat (es folgt das Datenelement "Array"; siehe Abschnitt 2.4.3)
0xc6..0xd4(mit Tag versehenes Element)
0xd5..0xd7Erwartete Konvertierung (es folgt ein Datenelement; siehe Abschnitt 2.4.4.2)
0xd8..0xdb(weitere mit Tag versehene Elemente, es folgen 1/2/4/8 Byte und dann ein Datenelement)
0xe0..0xf3(einfacher Wert)
0xf4False
0xf5True
0xf6Null
0xf7Undefined
0xf8(einfacher Wert, es folgt ein Byte)
0xf9Gleitkommazahl mit halber Genauigkeit (Zwei-Byte-IEEE 754)
0xfaGleitkommazahl mit einfacher Genauigkeit (Vier-Byte-IEEE 754)
0xfbGleitkommazahl mit doppelter Genauigkeit (Acht-Byte-IEEE 754)
0xff"break"-Stoppcode

Tabelle 5: Sprungtabelle für das Anfangsbyte