var file = randomAccessFile('gen.mp3')
file.read(0, 5, function(err, buffer) {
console.log(buffer)
for (const value of buffer.values()) {
console.log(value);
}
file.close(function() {
console.log('file is closed')
})
})
第一个输出是:
<Buffer 49 44 33 03 00>
和第二个:
73
68
51
3
0
我需要一个数组或其他数据结构,我可以单独访问第一个输出的值。我该怎么办?为什么第二个输出将十六进制转换为十进制?
答案 0 :(得分:1)
您只需使用[index]
访问缓冲区即可。 https://nodejs.org/api/buffer.html#buffer_buf_index
如果您愿意,也可以打印十六进制值。
var file = randomAccessFile('gen.mp3')
file.read(0, 5, function(err, buffer) {
console.log(buffer)
console.log(buffer[0]); // prints decimal
console.log(buffer[0].toString(16)); //prints hexadecimal
file.close(function() {
console.log('file is closed')
})
})