问题描述
我正在使用 Node-USB 库:https://github.com/tessel/node-usb
transfer(data,callback(error)
Perform a transfer to write data to the endpoint.)
我需要发送 05 4d。哪个是 ENQ M。
如果我做 .transfer("5M"
--- 我得到 35 4D
如果我做 .transfer("ENQM"
-- 我得到 45 4E 51 4D
如何获得将 ENQ M 编码为 05 4d 的传输?
解决方法
本示例中的
ENQ
并不表示三个字母 E
、N
和 Q
。它指的是 Unicode 控制字符 INQUIRY U+0005,它也恰好是 ASCII 中的 0x05。
要在字符串中表示,请使用 \u0005
: .transfer("\u0005M");
为了可读性,你可以把它变成一个常量:
const ENQ = "\u0005";
// ...
foo.transfer(ENQ+"M");