node:将缓冲区转换为十进制值

Bra*_*ith 1 math node.js

我有一个填充数据的缓冲区,以<Buffer 52 49 ...>开头

假设此缓冲区定义为buf,如果我运行buf.readInt16LE(0),则返回以下内容:

18770

现在,十六进制值52和49的二进制表示是:

01010010 01001001

如果我将前15位转换为十进制,省略第二位的二进制补码,我会得到以下结果:

21065

为什么我的结果没有给我18770的值?

Joe*_*Joe 6

18770是"01001001 01010010",这是你的2字节反转,这是readInt*LE函数将要做的事情.

使用readInt16BE.