我使用node.js从条形码扫描仪读取数据。这就是我的代码:
var myvar = chart();
myvar.width(20);
myvar.width();
我的问题是,我得到的缓冲区看起来像<缓冲区00 00 00 00 00 00 00 00>。扫描条形码(例如ID为12的条形码)后,控制台会返回类似
的条形码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();
});
如何将此Buffer输出转换为可读字符串?在那种情况下,它将是12。
感谢您的帮助!
答案 0 :(得分:5)
我认为您要做的是解码data
缓冲区。
要解码缓冲区,只需使用内置的.toString()方法,传入字符编码即可解码为:
data.toString('hex'); //<-- Decodes to hexadecimal
data.toString('base64'); //<-- Decodes to base64
如果您未将任何内容传递给toString
,则 utf8 将成为默认值。
修改强>
如果您想知道Node当前支持哪些字符编码( hex , base64 和 utf8 ),访问official docs.