Descubra qué es un objeto DataView y cómo utilizarlo
DataView
Es una vista de un ArrayBuffer , como los Typed Arrays, pero en este caso los elementos del array pueden tener diferentes tamaños y tipos.
He aquí un ejemplo:
const buffer = new ArrayBuffer(64)const view = new DataView(buffer)
Dado que se trata de una vista de un búfer, podemos especificar desde qué byte queremos comenzar y la longitud:
const view = new DataView(buffer, 10) //start at byte 10
const view = new DataView(buffer, 10, 30) //start at byte 10, and add 30 items
Si no agregamos esos argumentos adicionales, la vista comienza en la posición 0 y carga todos los bytes presentes en el buffer.
Hay un conjunto de métodos que podemos usar para agregar datos al búfer:
setInt8()
setInt16()
setInt32()
setUint8()
setUint16()
setUint32()
setFloat32()
setFloat64()
Así es como se llama a uno de esos métodos:
const buffer = new ArrayBuffer(64)const view = new DataView(buffer)view.setInt16(0, 2019)
De forma predeterminada, los datos se almacenan utilizando la notación big endian . Puede sobrescribir esta configuración y utilizar little endian agregando un tercer parámetro con el true
valor:
const buffer = new ArrayBuffer(64)const view = new DataView(buffer)view.setInt16(0, 2019, true)
Aquí es cómo podemos obtener datos de la vista:
getInt8()
getInt16()
getInt32()
getUint8()
getUint16()
getUint32()
getFloat32()
getFloat64()
Ejemplo:Te recomendamos Trucos y guías de videojuegos
const buffer = new ArrayBuffer(64)const view = new DataView(buffer)view.setInt16(0, 2019)view.getInt16(0) //2019
Dado que a DataView
es un ArrayBufferView
, tenemos esas 3 propiedades de solo lectura:
buffer
apunta al ArrayBuffer originalbyteOffset
¿Cuál es el desplazamiento en ese buffer?byteLength
es la longitud de su contenido en bytes
Una cosa que hay que tener en cuenta es que los arreglos tipificados no nos permiten controlar el orden de bytes: utilizan el orden de bytes del sistema . En general, esto funciona bien, porque el caso de uso principal, como dijimos, es utilizar el arreglo localmente, utilizando una de las API multimedia.
Si transfiere los datos de una matriz tipificada a otro sistema, es posible que los datos no estén mal codificados si utiliza Big Endian y usted utiliza Little Endian.
En caso de que necesite este tipo de control, DataView es una elección perfecta.
Tal vez te puede interesar:
- Introducción a React
- Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
- Cómo cambiar el valor de un nodo DOM
- Cómo comprobar si un elemento DOM tiene una clase
El objeto DataView
DataViewEs una vista de un ArrayBuffer , como los Typed Arrays, pero en este caso los elementos del array pueden tener diferentes tamaños y tipos. Descubra qu
programar
es
2025-01-19

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente