将 NodeJS 缓冲区转换为整数
Convert NodeJS buffer to integer
我想在 NodeJS 中使用 randomBytes 生成随机数。环顾四周后,我发现了一种将缓冲区转换为整数的方法;
const integer = parseInt(buffer.toString("hex"), 16)
是不是用这个方法有问题。我见过其他使用 buffer.readUIntBE
和其他类似方法的解决方案。我想知道他们比上面的解决方案有什么优势
也许不一定错,但是将缓冲区转换为其十六进制字符串表示形式,然后将其解析为数字,至少可以说,这似乎不是很直接且不必要resource-consuming.
缓冲区 read
方法主要执行数字运算(例如 here)并且应该少得多 resource-consuming 同时,在我看来,对于阅读您的人来说更容易解释代码。
function randomUInt32() {
return crypto.randomBytes(4).readUInt32BE();
}
对比
function randomUInt32() {
return parseInt(crypto.randomBytes(4).toString("hex"), 16);
}
我想在 NodeJS 中使用 randomBytes 生成随机数。环顾四周后,我发现了一种将缓冲区转换为整数的方法;
const integer = parseInt(buffer.toString("hex"), 16)
是不是用这个方法有问题。我见过其他使用 buffer.readUIntBE
和其他类似方法的解决方案。我想知道他们比上面的解决方案有什么优势
也许不一定错,但是将缓冲区转换为其十六进制字符串表示形式,然后将其解析为数字,至少可以说,这似乎不是很直接且不必要resource-consuming.
缓冲区 read
方法主要执行数字运算(例如 here)并且应该少得多 resource-consuming 同时,在我看来,对于阅读您的人来说更容易解释代码。
function randomUInt32() {
return crypto.randomBytes(4).readUInt32BE();
}
对比
function randomUInt32() {
return parseInt(crypto.randomBytes(4).toString("hex"), 16);
}