Перейти к основному содержимому

Типы данных сообщения

В этом разделе описаны базовые типы данных, используемые в сообщениях.

Intn(i)

n-битное целое число в сетевом порядке байтов (старший байт первый). Если указано i, то будет выведено точное значение, в противном случае значение будет переменным. Например, Int16, Int32(42).

Intn[k]

Массив из k n-битных целых чисел, каждое из которых располагается в сетевом порядке байт. Длина массива k всегда определяется более ранним полем в сообщении. Например, Int16[M].

String(s)

Строка с нулевым окончанием (строка в стиле C). Для строк не существует специального ограничения на длину. Если указано s, то это будет точное значение, которое появится, в противном случае значение будет переменным. Например, String, String("user").

Примечание:

Не существует предопределенных ограничений на длину строки, которую может вернуть бэкенд. Хорошая стратегия кодирования для фронтенда заключается в использовании расширяемого буфера, чтобы все, что подходит в памяти, могло быть принято. Если это невозможно, прочитайте всю строку и отбросьте последующие символы, которые не подходят к буферу фиксированного размера.

Byten (c)

Ровно n байт. Если ширина поля n не является константой, то она всегда определяется из более раннего поля сообщения. Если указано c, то это точное значение. Например, Byte2, Byte1('\n').