Python 使用缓冲区的节点打包数据

Python 使用缓冲区的节点打包数据,python,node.js,buffer,Python,Node.js,Buffer,任何人都知道如何在nodejs中转换此python代码段: return "".join(reversed(struct.pack('I',data))) 我尝试在nodejs中使用如下缓冲区进行相同操作: var buff = new Buffer(4).fill(0); buff.writeInt16LE(data, 0); return new Buffer(buff.reverse().toString('hex'),'hex'); 但它的工作方式与python代码段

任何人都知道如何在nodejs中转换此python代码段:

return "".join(reversed(struct.pack('I',data)))
我尝试在nodejs中使用如下缓冲区进行相同操作:

var buff = new Buffer(4).fill(0);
    buff.writeInt16LE(data, 0);
    return new Buffer(buff.reverse().toString('hex'),'hex');
但它的工作方式与python代码段不完全相同,一些数据使我的程序卡住,并导致以下错误:

buffer.js:830
    throw new TypeError('value is out of bounds');
    ^

确保
data
是有效的16位有符号整数。这意味着它必须是一个从-32768到32767的有效整数


但是,Python的
struct.pack()
中的“I”用于无符号32位整数,因此您应该使用的是
buff.writeUInt32LE(数据,0)

我的整数必须从0到4294967295(00000000-FFFFFFFF)我的函数必须将int转换为十六进制示例:将int 1转换为\x01并添加填充\x00\x00\x00\x00\x00\x00\x00\x00\x01对于
struct.pack('I',…)