VoxelEngine/doc/ru/8.2.Модуль-Lua-core_data_buffer.md

4.7 KiB
Raw Blame History

Буффер данных

Хранит в себе массив байтов и позволяет легко получать или добавлять разные значения

function data_buffer(bytes)

Создаёт новый экземпляр data_buffer (параметр bytes необязательный)

function data_buffer:put_byte(integer: byte)

Записывает байт в буффер

function data_buffer:put_bytes(table: bytes)

Записывает байты в буффер

function data_buffer:put_string(string: str)

Конвертирует строку в байты и записывает их в буффер

function data_buffer:put_bool(boolean: bool)

Конвертирует булевое значение в байт и записывает его в буффер

function data_buffer:put_single(number: single)

Конвертирует плавающее число одинарной точности в байты и записывает их в буффер

function data_buffer:put_double(number: double)

Конвертирует плавающее число двойной точности в байты и записывает их в буффер

function data_buffer:put_uint16(integer: int)

Конвертирует беззнаковое 2-х битное число в байты и записывает их в буффер

function data_buffer:put_uint32(integer: int)

Конвертирует беззнаковое 4-х битное число в байты и записывает их в буффер

function data_buffer:put_int16(integer: int)

Конвертирует знаковое 2-х битное число в байты и записывает их в буффер

function data_buffer:put_int32(integer: int)

Конвертирует знаковое 4-х битное число в байты и записывает их в буффер

function data_buffer:put_int64(integer: int)

Конвертирует знаковое 8-и битное число в байты и записывает их в буффер

function data_buffer:put_number(number: num)

Конвертирует любое число в байты и записывает их в буффер;

Первый байт это тип значения:

zero = 0
uint16 = 1
uint32 = 2
int16 = 3
int32 = 4
int64 = 5
double = 6
function data_buffer:get_byte() -> integer

Возвращает следующий байт из буффера

function data_buffer:get_bytes(n) -> table

Возвращает n следующих байтов, если n равен nil или не указан, то возвращается массив всех байтов

function data_buffer:get_string() -> string

Читает следующую строку из буффера

function data_buffer:get_bool() -> boolean

Читает следующий логический булев из буффера

function data_buffer:get_single() -> number

Читает следующее плавающее число одинарной точности из буффера

function data_buffer:get_double() -> number

Читает следующее плавающее число двойной точности из буффера

function data_buffer:get_uint16() -> integer

Читает следующее 2-х битное беззнаковое целое число из буффера

function data_buffer:get_uint32() -> integer

Читает следующее 4-х битное беззнаковое целое число из буффера

function data_buffer:get_int16() -> integer

Читает следующее 2-х битное знаковое целое число из буффера

function data_buffer:get_int32() -> integer

Читает следующее 4-х битное знаковое целое число из буффера

function data_buffer:get_int64() -> integer

Читает следующее 8-х битное знаковое целое число из буффера

function data_buffer:get_number() -> number

Читает следующее число (см. data_buffer:put_number)

function data_buffer:size() -> integer

Возвращает размер буффера

function data_buffer:set_position(integer: pos)

Устанавливает текущую позицию в буффере

function data_buffer:set_bytes(table: bytes)

Устанавливает байты в буффер