1 usb buffer hid barcode-scanner node.js
我正在使用node.js从条形码扫描仪中读取数据.这是我的代码:
var HID = require('node-hid');
var usb = require('usb');
// Honeywell Scanner
var vid = 0xc2e;
var pid = 0xbe1;
var d = new HID.HID(vid, pid);
d.on("data", function (data) {
console.log(data);
});
d.on("error", function (error) {
console.log(error);
d.close();
});
Run Code Online (Sandbox Code Playgroud)
我的问题是,我得到的缓冲区看起来像<Buffer 00 00 00 00 00 00 00 00>.扫描条形码(例如ID为12的条形码)后,控制台会返回类似的内容
<Buffer 00 00 53 00 00 00 00 00>
<Buffer 00 00 00 00 00 00 00 00>
<Buffer 00 00 53 00 00 00 00 00>
<Buffer 00 00 00 00 00 00 00 00>
<Buffer 00 00 1e 00 00 00 00 00>
<Buffer 00 00 1f 00 00 00 00 00>
Run Code Online (Sandbox Code Playgroud)
如何将此Buffer输出转换为可读字符串?在那种情况下,它将是12.
谢谢你的帮助!
我想你想要做的是解码你的data缓冲区.
要解码缓冲区,只需使用内置的.toString()方法,传入字符编码即可解码为:
data.toString('hex'); //<-- Decodes to hexadecimal
data.toString('base64'); //<-- Decodes to base64
Run Code Online (Sandbox Code Playgroud)
如果你没有传递任何东西toString,utf8将是默认值.
编辑
如果您想知道Node当前支持哪些字符编码(除了hex,base64和utf8之外),请访问官方文档.
| 归档时间: |
|
| 查看次数: |
2457 次 |
| 最近记录: |