---
title: roByteArray
slug: develop/es/robytearray
docTags: 
createdAt: 2025-03-11T07:07:17.199Z
---

Este objeto contiene funciones para convertir cadenas hacia o desde un arreglo de bytes, así como hacia o desde ASCII hex o ASCII base64. 

:::hint{type="info"}
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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays) (por ejemplo, [Uint8Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/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.

:::hint{type="info"}
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.
