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