Буфер

Здесь описаны операторы и функции для работы со двоичными данными в виде массива байт (тип buf).

Операторы

Оператор

Результат

Описание

* buf

int

Получить размер буфера в байтах.

buf ?

bool

Вызов bool(buf).

buf + buf

buf

Объединить два буфера.

buf = buf

buf

Присваивание двоичных данных.

buf &= buf

buf

Создать клон буфера. Новая переменная будет работать с тем же набором данных.

buf += buf

buf

Добавить один буфер к другому.

buf += int

buf

Добавить один байт к буферу. Число должно быть меньше 256.

buf += str

buf

Добавить строку к буферу.

buf += char

buf

Добавить символ к буферу.

buf [ int ]

int

Присвоить/получить байт по индексу.

Функции

bool(buf b) bool

Функция bool возвращает false, если буфер пустой. В противном случае, возвращается true.

buf(str s) buf

Функция buf конвертирует строку в значение типа buf и возвращает его.

str(buf b) str

Функция str конвертирует значение типа buf в строку и возвращает её.

Base64(buf b) str

Функция Base64 преобразует значение типа buf в строку в кодировке base64 и возвращает её.

DecodeInt(buf b, int offset) int

Функция DecodeInt получает целое число из параметра типа buf. offset - смещение в буфере, по которому необходимо прочитать число. Функция читает 8 байт и возвращает их как целое число.

Del(buf b, int off, int length) buf

Функция Del удалять часть данных из массива байт. off - смещение удаляемых данных, length - количество удаляемых байт. Если length меньше нуля, то данные будут удаляться слева от указанного смещения. Функция возвращает переменную b, в которой произошло удаление.

EncodeInt(buf b, int i) buf

Функция EncodeInt добавляет целое число к указанной переменной типа buf. Так как значение int занимает 8 байт, то к буферу добавляется 8 байт независимо от значения параметра i. Функция возвращает параметр b.

Hex(buf b) str

Функция Hex преобразует значение типа buf в шестнадцатеричную строку и возвращает её.

Insert(buf b, int off, buf src) buf

Функция Insert вставляет массив байт src в массив b. off - смещение, куда будет вставлен указанный массив байт. Функция возвращает переменную b.

SetLen(buf b, int size) buf

Функция SetLen устанавливает размер буфера. Если size меньше размера буфера, то он будет обрезан. В противном случае, буфер будет дополнен нулями до указанного размера.

Subbuf(buf b, int off, int length) buf

Функция Subbuf возвращает возвращает новый буфер, который содержит фрагмент буфера b с указанным смещением и длиной.

UnBase64(str s) buf

Функция UnBase64 преобразует строку в кодировке base64 в значение типа buf и возвращает его.

UnHex(str s) buf

Функция UnHex преобразует шестнадцатеричную строку в значение типа buf и возвращает его. Входящая строка должна содержать только шестнадцатеричные символы.

Write(buf b, int off, buf src) buf

Функция Write записывает массив байт переменной src в переменную b начиная с указанного смещения. Данные записываются поверх существующих значений. Функция возвращает переменную b.

Last updated