我正在开发一个项目,其中微控制器设备将数据发送到网络服务器。
我创建了一个网页,用户可以在其中使用表单向设备发送命令,并可以在同一页面上看到设备的响应。
问题是设备只理解十六进制命令。所以我需要从页面发送十六进制命令,例如
0x800xe80x10
现在我可以从网页上的表单读取用户提交的命令,但我无法将其按原样转换为十六进制。我读过有关 Buffer 的内容,但它将每个 ASCII 字符更改为十六进制。所以0x80给出类似的东西
30 78 38 30
而我想要的是
80
谢谢
缓冲区可以传递十六进制数据,它们只是不期望0x在每个字节之前,所以你可以这样做:
var userHex = '0x800xe80x10';
var buf = new Buffer(userHex.replace(/0x/g, ''), 'hex');
// buf == <Buffer 80 e8 10>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1031 次 |
| 最近记录: |