审查生成的遥测数据解析器

来自 类型化数组与 ArrayBuffer
Node 24 高级 8分钟 找出 5处问题

在这段生成的解析器处理上传二进制帧之前,对它进行审查。

解析对齐的 Uint8Array 窗口,其中包含 8 字节小端头部和 Float32 样本;限制不可信计数,并返回借用的样本视图。

JavaScript
function decodeTelemetry(bytes) {
  const view = new DataView(bytes.buffer);
  const version = view.getUint8(0);
  const flags = view.getUint8(1);
  const sampleCount = view.getUint32(4, true);
  const copied = new Float32Array(sampleCount);
  const samples = new Float32Array(
    bytes.buffer,
    bytes.byteOffset + 8,
    sampleCount,
  );
  copied.set(samples);

  return { version, flags, samples: copied };
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误