JavaScript ArrayBuffer 与 TypedArray
二进制数据:ArrayBuffer原始缓冲区、TypedArray类型化数组(Int8/Uint8/Float32等)、DataView灵活读取(字节序)、与Blob/File的转换、WebSocket二进制消息 · 难度:入门 · +10XP
JavaScript ArrayBuffer 与 TypedArray —— 操作二进制数据
JavaScript不只是处理文本。ArrayBuffer和TypedArray让你可以操作原始的二进制数据——比如解析文件格式、处理音视频流、与WebSocket传输二进制。
基本概念
// ArrayBuffer:固定大小的原始二进制缓冲区
const buffer = new ArrayBuffer(16); // 16字节
// TypedArray:给二进制数据赋予"类型"的解释视图
const int32View = new Int32Array(buffer);
int32View[0] = 42; // 写入一个32位整数
console.log(int32View[0]); // 42
动手练习
- 基础练习:创建一个4字节的ArrayBuffer,用Uint8Array写入RGBA颜色值。
- 进阶应用:读取一个图片文件的ArrayBuffer,解析其文件头信息。
- 项目实战:用ArrayBuffer+WebSocket实现文件分块传输。