我有(.hex)文件,代表十六进制格式的数据。这是文件的样本:
:100080000C9408010C9408010C9408010C940801CC :100090000C9408010C9408010C9408010C9428019C :1000A0000C9408010C9408010C9408010C940801AC :1000B0000C9408010C9408010C9408010C9408019C :1000C0000C9408010C9408010C9408010C9408018C :1000D0000C9408010C9408010C9408010C9408017C
我编写以下nodejs代码来读取文件并将其转换为Buffer,最后使用serial发送。
var fs = require("fs");
fs.readFile('./code.hex', function(err, code){
var str = code.toString();
var line = str.split('\n');
addr = line[1].slice(1, 9);
//addr_num = Number(addr, 'hex');
data = line[1].slice(9, (line[1].length - 3));
console.log(data);
var buf = new Buffer(data, 'hex');
}
行中的前8位是地址的一部分,行的其余部分是数据。我想要的是将addr
读作一个数字,将其与使用if
条件的其他变量进行比较。当我尝试addr_num = Number(addr, 'hex');
时,结果为NAN
。有没有办法把它读成数字?
答案 0 :(得分:2)