Aller au contenu principal

Appendix B. Table de saut

Par souci de brièveté, cette table de saut ne montre pas les octets initiaux qui sont réservés à une extension future. Elle ne montre également qu'une sélection des octets initiaux qui peuvent être utilisés pour des fonctionnalités optionnelles. (Tous les entiers non signés sont dans l'ordre des octets du réseau.)

ByteStructure/Semantics
0x00..0x17Entier 0x00..0x17 (0..23)
0x18Entier non signé (un uint8_t d'un octet suit)
0x19Entier non signé (un uint16_t de deux octets suit)
0x1aEntier non signé (un uint32_t de quatre octets suit)
0x1bEntier non signé (un uint64_t de huit octets suit)
0x20..0x37Entier négatif -1-0x00..-1-0x17 (-1..-24)
0x38Entier négatif -1-n (un uint8_t d'un octet pour n suit)
0x39Entier négatif -1-n (un uint16_t de deux octets pour n suit)
0x3aEntier négatif -1-n (un uint32_t de quatre octets pour n suit)
0x3bEntier négatif -1-n (un uint64_t de huit octets pour n suit)
0x40..0x57chaîne d'octets (0x00..0x17 octets suivent)
0x58chaîne d'octets (un uint8_t d'un octet pour n, puis n octets suivent)
0x59chaîne d'octets (un uint16_t de deux octets pour n, puis n octets suivent)
0x5achaîne d'octets (un uint32_t de quatre octets pour n, puis n octets suivent)
0x5bchaîne d'octets (un uint64_t de huit octets pour n, puis n octets suivent)
0x5fchaîne d'octets, des chaînes d'octets suivent, terminée par « break »
0x60..0x77chaîne UTF-8 (0x00..0x17 octets suivent)
0x78chaîne UTF-8 (un uint8_t d'un octet pour n, puis n octets suivent)
0x79chaîne UTF-8 (un uint16_t de deux octets pour n, puis n octets suivent)
0x7achaîne UTF-8 (un uint32_t de quatre octets pour n, puis n octets suivent)
0x7bchaîne UTF-8 (un uint64_t de huit octets pour n, puis n octets suivent)
0x7fchaîne UTF-8, des chaînes UTF-8 suivent, terminée par « break »
0x80..0x97tableau (0x00..0x17 éléments de données suivent)
0x98tableau (un uint8_t d'un octet pour n, puis n éléments de données suivent)
0x99tableau (un uint16_t de deux octets pour n, puis n éléments de données suivent)
0x9atableau (un uint32_t de quatre octets pour n, puis n éléments de données suivent)
0x9btableau (un uint64_t de huit octets pour n, puis n éléments de données suivent)
0x9ftableau, des éléments de données suivent, terminé par « break »
0xa0..0xb7table (0x00..0x17 paires d'éléments de données suivent)
0xb8table (un uint8_t d'un octet pour n, puis n paires d'éléments de données suivent)
0xb9table (un uint16_t de deux octets pour n, puis n paires d'éléments de données suivent)
0xbatable (un uint32_t de quatre octets pour n, puis n paires d'éléments de données suivent)
0xbbtable (un uint64_t de huit octets pour n, puis n paires d'éléments de données suivent)
0xbftable, des paires d'éléments de données suivent, terminée par « break »
0xc0Date/heure textuelle (un élément de données suit ; voir la Section 2.4.1)
0xc1Date/heure basée sur l'epoch (un élément de données suit ; voir la Section 2.4.1)
0xc2Bignum positif (l'élément de données « chaîne d'octets » suit)
0xc3Bignum négatif (l'élément de données « chaîne d'octets » suit)
0xc4Fraction décimale (l'élément de données « tableau » suit ; voir la Section 2.4.3)
0xc5Bigfloat (l'élément de données « tableau » suit ; voir la Section 2.4.3)
0xc6..0xd4(élément étiqueté)
0xd5..0xd7Conversion attendue (un élément de données suit ; voir la Section 2.4.4.2)
0xd8..0xdb(autres éléments étiquetés, 1/2/4/8 octets puis un élément de données suivent)
0xe0..0xf3(valeur simple)
0xf4False
0xf5True
0xf6Null
0xf7Undefined
0xf8(valeur simple, un octet suit)
0xf9Flottant en demi-précision (IEEE 754 de deux octets)
0xfaFlottant en simple précision (IEEE 754 de quatre octets)
0xfbFlottant en double précision (IEEE 754 de huit octets)
0xffcode d'arrêt « break »

Table 5 : Table de saut pour l'octet initial