Буфер
Здесь описаны операторы и функции для работы со двоичными данными в виде массива байт (тип 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 modified 10mo ago