如何将十六进制缓冲区转换为十六进制数组?

How do you convert a buffer of hexadecimals to an array of hexadecimals?

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

我需要一个数组或其他一些数据结构,我可以在其中单独访问第一个输出的值。我该怎么做?为什么第二个输出将十六进制转换为十进制?

您可以使用 [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')
  })
})