我正在寻求将现有的HEX文件打开到缓冲区中,并对其内容进行更改,我正在创建缓冲区,因此
const fs = require('fs');
var fileData = fs.readFileSync('./server/recipeTemplate/GemTwin.REL');
我知道如果我想把ascii字符作为十六进制,我可以使用这样的字符代码:
var recipeName = req.body.name
var recipeIndex = 2343;
for (var i = 0; i < recipeName.length; i++) {
fileData[recipeIndex+i] = recipeName.charCodeAt(i);
}
问题是如何对一个整数进行计算
我尝试了以下,但没有成功
fileData[2365] = (12).toString(16);
即使(12(.toString(16(评估为C ,也会导致0
如何将整数转换为缓冲区可接受的值?
正如文档所解释的,缓冲区值是无符号的8位整数,即0到255之间的数字。
应该是:
fileData[2365] = 12
我知道如果我想把ascii字符作为十六进制,我可以使用字符代码,比如这个
JavaScript中没有十六进制的特殊数据类型,charCodeAt
返回一个整数。问题中的代码已经做了与上面相同的事情。
通过将索引设置为0x[十六进制]来实现所需结果