我有用十六進制格式表示數據的(.hex)文件。下面是該文件的樣本:從文件中讀取十六進制數
:100080000C9408010C9408010C9408010C940801CC :100090000C9408010C9408010C9408010C9428019C :1000A0000C9408010C9408010C9408010C940801AC :1000B0000C9408010C9408010C9408010C9408019C :1000C0000C9408010C9408010C9408010C9408018C :1000D0000C9408010C9408010C9408010C9408017C
我寫了下面的NodeJS代碼讀取該文件並將其轉換爲緩衝區到底要使用串行發送。
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
。有沒有辦法將它看作一個數字?