MST

星途 面试题库

面试题:JavaScript 中 Node 缓冲区处理之复杂操作

假设有一个包含二进制数据的缓冲区,其中前4个字节表示一个整数(小端序),之后的数据是其他信息。请编写 JavaScript 代码提取出这个整数,并说明在处理缓冲区数据类型转换时需要注意什么。
25.2万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
function extractInteger(buffer) {
    const view = new DataView(buffer);
    return view.getInt32(0, true);
}

在处理缓冲区数据类型转换时需要注意以下几点:

  • 字节序:题目明确是小端序,所以在使用 DataView 的方法(如 getInt32)时要传入 true 来表示小端序。如果不注意字节序,会得到错误的结果。
  • 数据类型匹配:要确保使用正确的 DataView 方法来读取数据,如这里要读取整数,就使用 getInt32 。如果数据实际类型与读取方法不匹配,也会得到错误数据。
  • 缓冲区边界:确保缓冲区长度足够,要读取的字节范围在缓冲区之内,否则会抛出越界错误。