读取 .bin 文件 NodeJS
read .bin files NodeJS
所以我有 .bin 文件,我想阅读它。
我尝试使用 .readFileSync("file.bin"),但我很奇怪 console.log(当我尝试记录某些元素时)据我所知,我得到了字节。
谁能告诉我如何在数组中获取这些值,例如:
04 40 10 01 0a 1a 10 02 10 03 0d 02 0d 03 05 03 05 03 05 03 05 03 0f 32 0e 12 11 02 07 e6 0b 00
代码:
const fs = require('fs'); //file sysyem = fs
const decryptor = fs.readFileSync('./docs/decryptor.bin');
console.log(decryptor)
console.log(decryptor[0])
所以我得到的第一个日志是:
<Buffer 04 40 10 01 0a 1a 10 02 10 03 0d 02 0d 03 05 03 05 03 05 03 05 03 0f 32 0e 12 11 02 07 e6 0b 00>
第二个我得到:
4
让我们打开包装。双关语。
.readFileSync()
,您使用它的方式,returns 一个 Buffer object,文件中的每个字节都有一个元素。这就是您从 console.log(decryptor)
中看到的整个缓冲区。 console.log
以十六进制呈现缓冲区的内容。即小数值4
被渲染04
,小数值10
被渲染0a
。请记住,console.log 正在执行 <Buffer 04 40 10 01 0a 1a ...
显示。
然后,当您执行 let v = decryptor[0]
时,您取出该缓冲区的第一个元素并将其分配给 v
。那是一个普通的旧数字,在你的例子中 4
。因此,console.log(decryptor[0])
显示为 4
。
为您提供更多细节:nodejs 缓冲区是 Uint8Arrays 的实例:无符号 8 位数字的数组。这就是您从 decryptor[0]
和其他元素查找中获取数字的原因。读这个。 Convert a binary NodeJS Buffer to JavaScript ArrayBuffer
所以我有 .bin 文件,我想阅读它。 我尝试使用 .readFileSync("file.bin"),但我很奇怪 console.log(当我尝试记录某些元素时)据我所知,我得到了字节。
谁能告诉我如何在数组中获取这些值,例如:
04 40 10 01 0a 1a 10 02 10 03 0d 02 0d 03 05 03 05 03 05 03 05 03 0f 32 0e 12 11 02 07 e6 0b 00
代码:
const fs = require('fs'); //file sysyem = fs
const decryptor = fs.readFileSync('./docs/decryptor.bin');
console.log(decryptor)
console.log(decryptor[0])
所以我得到的第一个日志是:
<Buffer 04 40 10 01 0a 1a 10 02 10 03 0d 02 0d 03 05 03 05 03 05 03 05 03 0f 32 0e 12 11 02 07 e6 0b 00>
第二个我得到:
4
让我们打开包装。双关语。
.readFileSync()
,您使用它的方式,returns 一个 Buffer object,文件中的每个字节都有一个元素。这就是您从 console.log(decryptor)
中看到的整个缓冲区。 console.log
以十六进制呈现缓冲区的内容。即小数值4
被渲染04
,小数值10
被渲染0a
。请记住,console.log 正在执行 <Buffer 04 40 10 01 0a 1a ...
显示。
然后,当您执行 let v = decryptor[0]
时,您取出该缓冲区的第一个元素并将其分配给 v
。那是一个普通的旧数字,在你的例子中 4
。因此,console.log(decryptor[0])
显示为 4
。
为您提供更多细节:nodejs 缓冲区是 Uint8Arrays 的实例:无符号 8 位数字的数组。这就是您从 decryptor[0]
和其他元素查找中获取数字的原因。读这个。 Convert a binary NodeJS Buffer to JavaScript ArrayBuffer