ArrayBuffer和Blob都是JavaScript中的二进制数据类型,但它们之间有一些区别。ArrayBuffer是一种存储二进制数据的类型,它可以被视为一段连续的内存区域,可以用来存储任何类型的二进制数据。Blob则是一种用于表示二进制数据的不可变对象,它一般用于处理文件数据等场景。因此,Blob对象通常是由一个或多个ArrayBuffer对象组成的数组,每个ArrayBuffer对象都包含文件数据的一部分。
API介绍
1、ArrayBuffer:用来表示通用的、固定长度的原始二进制数据缓冲区。它不能直接读写,只能通过视图(TypedArray
视图和 DataView
视图)来读写,视图的作用是以指定格式解读二进制数据。
2、TypedArray:一个 TypedArray 对象描述了底层二进制数据缓冲区的类数组视图
3、DataView
:DataView
视图是一个可以从二进制 ArrayBuffer 对象中读写多种数值类型的底层接口,使用它时,不用考虑不同平台的字节序(endianness)问题。
4、getUint8()
方法从 DataView相对于起始位置偏移 n 个字节处开始,获取一个无符号的 8-bit 整数 (一个字节)
5、getUint16()
方法从 DataView 相对于起始位置偏移 n 个字节处开始,获取一个 16-bit 数 (无符号短整型,2 个字节)
6、getUint32()
方法从 DataView 相对于起始位置偏移 n 个字节处开始,获取一个 32-bit 数 (无符号长整型,4 个字节)
7、setInt8()
从 DataView 起始位置以 byte 为计数的指定偏移量 (byteOffset) 处储存一个 8-bit 数 (一个字节)
8、setUint16()
从 DataView 起始位置以 b