Buffer
Operators and functions for working with an array of bytes (buf type) are described here.

Operators

Operator
Result
Description
* buf
int
Returns the number of bytes in the array.
buf ?
bool
Calls bool(buf).
buf + buf
buf
Merges two buffers.
buf = buf
buf
Assignment operator.
buf &= buf
buf
Create a clone of the buffer. The new variable will work with the same data set.
buf += buf
buf
Appends a buffer to a buffer variable.
buf += int
buf
Appends one byte to the buffer. The number must be less than 256.
buf += str
buf
Appends a string to the buffer.
buf += char
buf
Appends a character to the buffer.
buf [ int ]
int
Sets/gets a byte by index.

Functions

bool(buf b) bool

The bool function returns false if the buffer is empty, otherwise, it returns true.

buf(str s) buf

The buf function converts a string to a buf value and returns it.

str(buf b) str

The str function converts a buf value to a string and returns it.

Base64(buf b) str

The Base64 function converts a value of the buf type into a string in base64 encoding and returns it.

DecodeInt(buf b, int offset) int

The DecodeInt function gets an integer from a parameter of buf type. offset is the offset in the buffer at which to read the number. The function reads 8 bytes and returns them as an integer.

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

The Del function removes part of the data from the byte array. off is the offset of the data to be deleted, length is the number of bytes to be deleted. If length is less than zero, then the data will be deleted to the left of the specified offset. The function returns the b variable in which the deletion occurred.

EncodeInt(buf b, int i) buf

The EncodeInt function appends an integer number to a specified variable of buf type. Since the int value occupies 8 bytes, 8 bytes are appended to the buffer regardless of the i parameter value. The function returns the b parameter.

Hex(buf b) str

The Hex function encodes a buf value to a hexadecimal string and returns it.

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

The Insert function inserts an array of bytes src into the array b. off is the offset where the specified byte array will be inserted. The function returns the variable b.

SetLen(buf b, int size) buf

The SetLen function sets the size of the buffer. If size is less than the size of the buffer, then it will be truncated. Otherwise, the buffer will be padded with zeros to the specified size.

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

The Subbuf function returns a new buffer that contains the chunk of the b buffer with the specified offset and length.

UnBase64(str s) buf

The UnBase64 function converts a string in base64 encoding into a value of the buf type and returns it.

UnHex(str s) buf

The UnHex function returns the buf value represented by the hexadecimal string s. The input string must contain only hexadecimal characters.

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

The Write function writes the byte array of the src variable into the b variable starting from the specified offset. The data is written over existing values. The function returns variable b.
Last modified 10mo ago