PoolByteArray

A pooled Array of bytes.

Descripción

An Array specifically designed to hold bytes. Optimized for memory usage, does not fragment the memory.

Note: This type is passed by value and not by reference.

Métodos

PoolByteArray

PoolByteArray ( Array from )

void

append ( int byte )

void

append_array ( PoolByteArray array )

PoolByteArray

compress ( int compression_mode=0 )

PoolByteArray

decompress ( int buffer_size, int compression_mode=0 )

PoolByteArray

decompress_dynamic ( int max_output_size, int compression_mode=0 )

bool

empty ( )

String

get_string_from_ascii ( )

String

get_string_from_utf8 ( )

String

hex_encode ( )

int

insert ( int idx, int byte )

void

invert ( )

void

push_back ( int byte )

void

remove ( int idx )

void

resize ( int idx )

void

set ( int idx, int byte )

int

size ( )

PoolByteArray

subarray ( int from, int to )

Descripciones de Métodos

Constructs a new PoolByteArray. Optionally, you can pass in a generic Array that will be converted.


  • void append ( int byte )

Concatena un elemento al final del array (alias de push_back).


Appends a PoolByteArray at the end of this array.


Returns a new PoolByteArray with the data compressed. Set the compression mode using one of CompressionMode's constants.


Returns a new PoolByteArray with the data decompressed. Set buffer_size to the size of the uncompressed data. Set the compression mode using one of CompressionMode's constants.


Returns a new PoolByteArray with the data decompressed. Set the compression mode using one of CompressionMode's constants. This method only accepts gzip and deflate compression modes.

This method is potentially slower than decompress, as it may have to re-allocate it's output buffer multiple times while decompressing, where as decompress knows it's output buffer size from the begining.

GZIP has a maximal compression ratio of 1032:1, meaning it's very possible for a small compressed payload to decompress to a potentially very large output. To guard against this, you may provide a maximum size this function is allowed to allocate in bytes via max_output_size. Passing -1 will allow for unbounded output. If any positive value is passed, and the decompression exceeds that ammount in bytes, then an error will be returned.


Devuelve true si el array es vacio.


  • String get_string_from_ascii ( )

Devuelve una copia del contenido del array como String. Alternativa rápida al get_string_from_utf8 si el contenido es sólo ASCII. A diferencia de la función UTF-8, esta función asigna cada byte a un carácter del array. Las secuencias multibyte no se interpretarán correctamente. Para analizar la entrada del usuario siempre usa get_string_from_utf8.


  • String get_string_from_utf8 ( )

Devuelve una copia del contenido del array como String. Más lento que get_string_from_ascii pero soporta datos codificados en UTF-8. Utiliza esta función si no estás seguro de la fuente de los datos. Para la entrada del usuario esta función siempre debe ser preferida.


Returns a hexadecimal representation of this array as a String.

var array = PoolByteArray([11, 46, 255])
print(array.hex_encode()) # Prints: 0b2eff

Inserta un nuevo elemento en una posición determinada del array. La posición debe ser válida, o al final del array (idx == size()).


  • void invert ( )

Invierte el orden de los elementos en el array.


  • void push_back ( int byte )

Concatena un elemen al final del array.


  • void remove ( int idx )

Elimina un elemento del array por indice.


  • void resize ( int idx )

Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size.

Note: Added elements are not automatically initialized to 0 and will contain garbage, i.e. indeterminate values.


  • void set ( int idx, int byte )

Cambia el byte en el índice dado.


Devuelve el tamaño del array.


Returns the slice of the PoolByteArray between indices (inclusive) as a new PoolByteArray. Any negative index is considered to be from the end of the array.