【发布时间】:2019-04-20 00:56:52
【问题描述】:
我正在寻求将现有的 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
如何将整数转换为缓冲区可接受的值?
【问题讨论】:
-
一个 int 是一个可接受的缓冲区值。
fileData[2365] = 12不行吗? -
我需要它作为十六进制,所以 0C,12 会将 12 放入缓冲区位置
-
不,你不需要它作为十六进制。 JS 不区分小数和十六进制。它们存储为数字。 0x... 只是写数字的另一种方式。