AnP

Application/Binary

Esta librería es un conjunto de métodos que nos permiten operar a ciertos niveles con valores numéricos sobre binarios, ya sean fragmentados en Bytes como en un valor numérico entero.

Esta librería, pese a tener un constructor, es de las pocas que pueden decirse que son estáticas de uso global y común, es decir, no requiere de la creación de un objeto que contenga sus operaciones sino que simplemente llamando a sus métodos ya sería capaz de aportar las operaciones que ésta contiene.
Binary.get_object
Binary.get_object
ObjectstaticpublicBinary.get_objectRequiredUint8Array|Array<TinyInt>binaryRequiredArray<Array<String, String, Integer>>map
NameRequiredNullableTypedDefault Value
binaryTrueFalseUint8Array|Array<TinyInt>
mapTrueFalseArray<Array<String, String, Integer>>
NameRequiredNullableTypedDefault Value

Este método público estático nos permite crear un objeto anónimo con claves y valores definidos sobre el argumento map que mapea dichos datos secuencialmente ordenados contra los datos binarios establecidos en el argumento binary. El mapeado de los datos consta de un Array cuyos valores son otro Array con los siguientes datos:

  • name: Este valor no es más que un String que representa el nombre o clave del elemento que se quiere extraer.
  • type: Este valor es un String que representa un tipo de dato que se quiere extraer. Dichos datos pueden ser los siguientes:
    • string: Representa un valor de tipo String.
    • integer: Representa un valor de tipo numérico entero.
    • bytes: Representa un valor en Bytes.
    • bool: Representa un valor Booleano.
  • bytes: Número de Bytes que ocupa dicho valor.
Los tipos de valores que se representan con esos nombres representan realmente un método público estático de Binary que se coge a partir de su prefijo get_, por lo que un valor de tipo string sería para llamar al método Binary:get_string.

El campo type del mapeado de los datos a extraer puede ser una función, la cual representará la acción a llevar a cabo para procesar esos datos.

Por otro lado, el campo bytes del mapeado de los datos a extraer puede ser una función que determine como retorno el número de Bytes a coger dentro del valor binario.

Binary.get_string
Binary.get_string
StringstaticpublicBinary.get_stringRequiredUint8Array|Array<TinyInt>binary
NameRequiredNullableTypedDefault Value
binaryTrueFalseUint8Array|Array<TinyInt>
NameRequiredNullableTypedDefault Value

Este método público estático nos permite coger un String a partir del conjunto de Bytes dado por el valor binario.

Binary.get_integer
Binary.get_integer
IntegerstaticpublicBinary.get_integerRequiredUint8Array|Array<TinyInt>binary
NameRequiredNullableTypedDefault Value
binaryTrueFalseUint8Array|Array<TinyInt>
NameRequiredNullableTypedDefault Value

Este método público estático nos permite coger un valor numérico entero a partir del conjunto de Bytes dado por el valor binario.

Este método es peligroso a la hora de usar binarios que excedan del límite seguro de la mantisa del procesador en los lenguajes basados en éstos. Este concepto cambia en lenguajes que procesan de una forma lógica dichos valores como sucede con Python. Además, el rango de seguridad puede variar según lenguaje, pudiendo dar valores totalmente inesperados.
Binary.get_bytes
Binary.get_bytes
Array<TinyInt>staticpublicBinary.get_bytesRequiredUint8Array|Array<TinyInt>binary
NameRequiredNullableTypedDefault Value
binaryTrueFalseUint8Array|Array<TinyInt>
NameRequiredNullableTypedDefault Value

Este método público estático nos permite coger Bytes en un Array de enteros pequeños de 8 bits a partir del conjunto de Bytes dado por el valor binario.

Binary.get_bool
Binary.get_bool
BooleanstaticpublicBinary.get_boolRequiredUint8Array|Array<TinyInt>binary
NameRequiredNullableTypedDefault Value
binaryTrueFalseUint8Array|Array<TinyInt>
NameRequiredNullableTypedDefault Value

Este método público estático nos permite coger el valor Booleano a partir del conjunto de Bytes dado por el valor binario. Independientemente de su longitud, si todos los Bytes que lo representan son 0, éste retornará false, en caso contrario retornará true.

Binary.get_bits
Binary.get_bits
Integer|nullstaticpublicBinary.get_bitsRequiredUint8Array|Array<TinyInt>|Integerbinary
NameRequiredNullableTypedDefault Value
binaryTrueFalseUint8Array|Array<TinyInt>|Integer
NameRequiredNullableTypedDefault Value

Este método público estático nos permite coger el número de Bits que compone el valor binario dado. En caso de no ser un tipado conocido éste retornará null.

Binary.reset
Binary.reset
Uint8ArraystaticpublicBinary.resetRequiredUint8ArraybinaryRequiredIntegerstartIntegerlength11
NameRequiredNullableTypedDefault Value
binaryTrueFalseUint8Array
startTrueFalseInteger
lengthFalseFalseInteger1
NameRequiredNullableTypedDefault Value
Binary.reset
Array<TinyInt>staticpublicBinary.resetRequiredArray<TinyInt>binaryRequiredIntegerstartIntegerlength11
NameRequiredNullableTypedDefault Value
binaryTrueFalseArray<TinyInt>
startTrueFalseInteger
lengthFalseFalseInteger1
NameRequiredNullableTypedDefault Value
Binary.reset
IntegerstaticpublicBinary.resetRequiredIntegerbinaryRequiredIntegerstartIntegerlength11
NameRequiredNullableTypedDefault Value
binaryTrueFalseInteger
startTrueFalseInteger
lengthFalseFalseInteger1
NameRequiredNullableTypedDefault Value

Este método público estático nos permite resetear un rango de Bits de un binario dado por el argumento binary desde la posición dada por el argumento start hasta el número de Bits que se determinan en la longitud mediante el argumento opcional length.