roByteArray
Este objeto contiene funciones para convertir cadenas hacia o desde un arreglo de bytes, así como hacia o desde ASCII hex o ASCII base64.
Si está convirtiendo un arreglo de bytes en una cadena, y el arreglo de bytes contiene un cero, la conversión de la cadena terminará en ese punto.
El arreglo de bytes cambiará automáticamente de tamaño para hacerse más grande según sea necesario. Si desea deshabilitar este comportamiento, use el método SetResize() . Si se lee un índice no inicializado, se devuelve Invalid.
Dado que roByteArray admite la interfaz ifArray , se puede acceder a él con el operador de arreglo [] . Siempre se accede al arreglo de bytes como bytes sin signo mientras se utiliza esta interfaz. Este objeto también admite la interfaz ifEnum , por lo que puede utilizarse con una instrucción PARA CADA .
El equivalente en JavaScript es Blob(). Tenga en cuenta que JavaScript ahora tiene arreglos tipados (por ejemplo, Uint8Array) .
ifByteArray
WriteFile(file_path As String) As Boolean
Escribe los bytes contenidos en el arreglo de bytes en el archivo especificado. Este método devuelve True si se ejecuta correctamente.
WriteFile(file_path As String, start_index As Integer, length As Integer) As Boolean
Escribe un subconjunto de los bytes contenidos en el arreglo de bytes en el archivo especificado. Este método escribe longitud bytes, comenzando en start_index del arreglo de bytes.
ReadFile(file_path As String) As Boolean
Lee el archivo especificado en el arreglo de bytes. Esta operación descartará cualquier dato contenido actualmente en el arreglo de bytes.
ReadFile(file_path As String, start_index As Integer, length As Integer) As Boolean
Lee una sección del archivo especificado en el arreglo de bytes. Este método lee longitud bytes, comenzando en start_index del archivo. Esta operación descartará cualquier dato contenido actualmente en el arreglo de bytes.
AppendFile(file_path As String) As Boolean
Agrega el contenido del arreglo de bytes al archivo especificado.
SetResize(minimum_allocation_size As Integer, autoresize As Boolean)
Expande el tamaño del arreglo de bytes hasta minimum_allocation_size si es menor que minimum_allocation_size. Este método también acepta un parámetro Boolean que especifica si el arreglo de bytes debe redimensionarse automáticamente o no.
ToHexString() As String
Devuelve una representación de cadena hexadecimal del contenido del arreglo de bytes. Cada byte se representa como dos dígitos hexadecimales.
FromHexString(hex_string As String)
Escribe el contenido de la cadena hexadecimal pasada en el arreglo de bytes. La cadena pasada debe contener un número par de dígitos hexadecimales. Esta operación descartará cualquier dato contenido actualmente en el arreglo de bytes.
ToBase64String() As String
Devuelve el contenido del arreglo de bytes como una cadena con formato base64.
FromBase64String(base_64_string As String)
Escribe el contenido de una cadena válida con formato base64 en el arreglo de bytes. Esta operación descartará cualquier dato contenido actualmente en el arreglo de bytes.
ToAsciiString() As String
Devuelve el contenido del arreglo de bytes como una cadena con formato ASCII.
FromAsciiString(ascii_string As String)
Escribe el contenido de una cadena válida con formato ASCII en el arreglo de bytes. Esta operación descartará cualquier dato contenido actualmente en el arreglo de bytes.
GetSignedByte(index As Integer) As Integer
Devuelve el byte con signo en el índice especificado basado en cero del arreglo de bytes. Para leer un byte sin signo dentro de un arreglo de bytes, utilice el método ifArrayGet.GetEntry() o el operador de arreglo [] .
GetSignedLong(index As Integer) As Integer
Recupera el entero ubicado en el índice de palabra larga especificado del arreglo de bytes. Tenga en cuenta que este método no puede aceptar un índice de bytes como parámetro.
IsLittleEndianCPU() As Boolean
Devuelve True si la arquitectura de la CPU es little-endian.
ifArray
Peek() As Dynamic
Devuelve la última entrada del arreglo (índice más alto) sin eliminarla.
Pop() As Dynamic
Devuelve la última entrada (índice más alto) y la elimina del arreglo.
Push(entry As Dynamic)
Agrega una nueva entrada del índice más alto al final del arreglo.
Shift() As Dynamic
Elimina el índice cero del arreglo y desplaza todas las demás entradas hacia abajo una unidad.
Unshift(entry As Dynamic)
Agrega un nuevo índice cero al arreglo y desplaza todas las demás entradas hacia arriba una unidad.
Delete(index As Integer) As Boolean
Elimina la entrada indicada del arreglo y desplaza todas las entradas superiores hacia abajo una unidad.
Count() As Integer
Devuelve el índice de la entrada más alta en el arreglo más uno (es decir, la longitud del arreglo).
Clear()
Elimina todas las entradas del arreglo.
Append(array As roArray)
Anexa un roArray a otro. Si el roArray pasado contiene entradas a las que nunca se les asignó un valor, no se anexan.
Los dos objetos anexados deben ser del mismo tipo.
ifEnum
Reset()
Restablece la posición al primer elemento de la enumeración.
Next() As Dynamic
Devuelve un valor tipado en la posición actual e incrementa la posición.
IsNext() As Boolean
Devuelve True si hay un siguiente elemento.
IsEmpty() As Boolean
Devuelve True si no hay una instrucción exacta.
ifArrayGet
GetEntry(index As Integer) As Dynamic
Devuelve una entrada del arreglo de un índice dado. Las entradas comienzan en cero. Si este método intenta obtener una entrada que no ha sido establecida, devolverá Invalid.
ifArraySet
SetEntry(index As Integer, entry As Dynamic)
Establece una entrada de un índice dado con el valor de tipo pasado.