// 假设从后端接受了一个blob数据。 blob
// 创建一个 `FileReader` 实例:使用 `new FileReader()` 创建一个新的 `FileReader` 对象。
const reader = new FileReader();
reader.onload = (blobData) => {
// 拿到 ArrayBuffer 数据
const buffer = blobData.target.result;
// 使用 new DataView 读取buffer
let dataView = new DataView(buffer);
// byteLength 获取buffer长度
// 单精度浮点数 32位, 占用4个字节 i+4
for (let i = 0; i < dataView.byteLength; i+=4) {
// 从起始位置 i 偏移 4 个字节处获取一个 32-bit 浮点数 (单精度浮点数,4 个字节)
let floatNumber = dataView.getFloat32(i, true);
// 使用 arr 存储
arr.push(floatNumber);
}
};
reader.readAsArrayBuffer(blob);