Буфер
Здесь описаны операторы и функции для работы со двоичными данными в виде массива байт (тип 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.
Copy link
Outline
Операторы
Функции
bool(buf b) bool
buf(str s) buf
str(buf b) str
Base64(buf b) str
DecodeInt(buf b, int offset) int
Del(buf b, int off, int length) buf
EncodeInt(buf b, int i) buf
Hex(buf b) str
Insert(buf b, int off, buf src) buf
SetLen(buf b, int size) buf
Subbuf(buf b, int off, int length) buf
UnBase64(str s) buf
UnHex(str s) buf
Write(buf b, int off, buf src) buf