假设我有一个十六进制数据流,我想把它分成3个字节的块,我需要读取整数.
例如:给定一个十六进制字符串,01be638119704d4b9a我需要读取前三个字节01be63并将其读作整数114275.这就是我得到的:
var sample = '01be638119704d4b9a';
var buffer = new Buffer(sample, 'hex');
var bufferChunk = buffer.slice(0, 3);
var decimal = bufferChunk.readUInt32BE(0);
Run Code Online (Sandbox Code Playgroud)
这readUInt32BE对4字节数据非常有效,但在这里我明显得到:
RangeError: index out of range
at checkOffset (buffer.js:494:11)
at Buffer.readUInt32BE (buffer.js:568:5)
Run Code Online (Sandbox Code Playgroud)
如何正确读取3字节作为整数?
我一直在想,当包含多个包使用require()而不再使用它们时,Node.js的性能是否有任何影响?我的意思是说,例如,我需要underscorejs而不是再触摸它的情况:
var _ = require('underscore');
在C++中使用(未使用的包含)会增加编译时间.但是因为在JavaScript中没有编译,这有什么害处吗?我运行文件时是否加载了所需的模块,或者仅当我使用该模块中的任何函数时?