Node.js将十六进制数转换为byteArray

Gin*_*Jim 53 buffer node.js

我想使用蓝牙连接发送原始缓冲区.内容是十六进制数.目前我手动将数字拆分为字节数组.有没有可以帮助我将数字转换为字节数组的函数?

//var data = 0x250001000192CD0000002F6D6E742F72;
var data = new Buffer([0x25,0x00,0x01,0x00,0x01,0x92,0xCD,0x00,0x00,0x00,0x2F,0x6D,0x6E,0x74,0x2F,0x72]);
serialPort.write(data);
Run Code Online (Sandbox Code Playgroud)

Bra*_*rad 93

在新版本的节点(6+)中,new Buffer()不推荐使用该接口.使用:

Buffer.from("250001000192CD0000002F6D6E742F72", "hex")
Run Code Online (Sandbox Code Playgroud)

代替.

  • 仅当您不关心输入的有效性检查时才使用此选项;`Buffer.from(“ abc 123 foo bar baz”,“ hex”)`返回`<Buffer ab>` (3认同)
  • 嘿 Google 员工,这是正确的答案!来吧@GingerJim! (2认同)

SLa*_*aks 72

new Buffer("250001000192CD0000002F6D6E742F72", "hex")
Run Code Online (Sandbox Code Playgroud)

  • 不推荐使用此用法.请参阅现代API的其他答案. (2认同)