NodeJS 中 DWORD 的等价物是什么?

What is the equivalent of DWORD in NodeJS?

我正在尝试根据为 C# 编写的文档在 NodeJS 中重写协议。

我正在读取索引文件,这里是关于缓冲区布局的描述。

根据我的阅读,DWORD 只是一个 32 位无符号整数。但是,每当我用 indexFileBuffer.readUInt32BE(offset) 读取长度字节时,我得到的长度比预期的要长得多。

显然 readUInt32BE() 不等同于 dworddword 必须根据某些标准进行不同的处理。

任何有关如何正确计算该值的见解都将不胜感激。

从缓冲区获取 DWORD(无符号 32 位整数)的正确函数是:

buf.readUInt32BE(offset)

buf.readUInt32LE(offset)

您确实需要知道您的数据是小端还是大端字节顺序,以便select两者的正确选择。


如果您正在使用它并且它没有为您带来预期的价值,那么必须发生以下三种情况之一:

  1. 您期望在缓冲区中的数据并不存在
  2. 您没有使用正确的 "endian" 版本
  3. 您正在读取的缓冲区中的偏移量不正确

仅供参考,Intel 使用小端字节序,ARM 使用大端。更多关于 "endinan-ness" here.