Cette section décrit les types de données de base utilisés dans les messages.
n
(i
)
Un entier sur n
bits dans l'ordre d'octet
réseau (l'octet le plus significatif en premier).
Si i
est précisé, il s'agit de la valeur
exacte qui apparaîtra, sinon la valeur est variable.
Par exemple, Int16, Int32(42).
n
[k
]
Un tableau d'entiers de k
n
bits, chacun dans l'ordre d'octet réseau.
La longueur du tableau k
est toujours
déterminée par un champ précédent dans le message.
Par exemple, Int16[M].
s
)
Une chaîne terminée par un octet nul (chaîne du type C). Il n'y a pas
de limitation spécifique de longueur sur les chaînes.
Si s
est indiqué, il s'agit de la valeur
exacte qui apparaîtra. Sinon la valeur est variable.
Par exemple, String, String("user").
Il n'y a pas de limite prédéfinie sur la longueur d'une chaîne qui peut être renvoyée par le backend. Une bonne stratégie de codage pour un client est d'utiliser un tampon expansif pour que tout ce qui puisse être stocké en mémoire soit accepté. Si ce n'est pas faisable, lire la chaîne et ignorer les caractères en fin qui ne rentrent pas dans le tampon de taille fixe.
n
(c
)
Exactement n
octets. Si la largeur du champ
n
n'est pas une constante, il est toujours
déterminable à partir d'un champ précédent dans le message. Si
c
est indiqué, il s'agit de la valeur exacte.
Par exemple, Byte2, Byte1('\n').