Javascript 同步读取文件并转换为字节数组

Javascript 同步读取文件并转换为字节数组,javascript,arrays,node.js,hex,byte,Javascript,Arrays,Node.js,Hex,Byte,我正在使用Node.js来gzip一些文件,并将它们的原始字节数组输出到一个文件中 例如: test.txt: 1234 {0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e} text.txt>test.txt.gz test.txt.gz到字节数组>数组.txt array.txt: 1234 {0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e} 我似乎找不到关于将文件转换为字节数组或任何npm包的任何其他问题。我试图手动f

我正在使用
Node.js
来gzip一些文件,并将它们的原始字节数组输出到一个文件中

例如:

test.txt:

1234
{0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e}
text.txt>test.txt.gz

test.txt.gz到字节数组>数组.txt

array.txt:

1234
{0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e}

我似乎找不到关于将文件转换为字节数组或任何npm包的任何其他问题。我试图手动
fs.readFileSync
创建一个文件并在函数中使用它,但由于特殊字符和编码,它失败了


如何在Node.js中以本机方式或使用包将文件转换为字节数组?

我认为这可以满足您的需要,尽管有点脏

仅供参考:
fs.readFileSync
返回一个
Buffer
对象,您可以通过
Buffer.toString('hex')将其转换为十六进制

var fs=require('fs');
函数getByteArray(文件路径){
让fileData=fs.readFileSync(filePath.toString('hex');
让结果=[]
对于(变量i=0;i
示例:

console.log("[string]:")
const _string = 'aeiou.áéíóú.äëïöü.ñ';
console.log(_string)

console.log("\n[buffer]:")
const _buffer = Buffer.from(_string, 'utf8');
console.log(_buffer)

console.log("\n[binaryString]:")
const binaryString = _buffer.toString();
console.log(binaryString)
输出:

[string]:
aeiou.áéíóú.äëïöü.ñ

[buffer]:
<Buffer 61 65 69 6f 75 2e c3 a1 c3 a9 c3 ad c3 b3 c3 ba 2e c3 a4 c3 ab c3 af c3 b6 c3 bc 2e c3 b1>

[binaryString]:
aeiou.áéíóú.äëïöü.ñ
输出:

[byteArray]:
[ 97,
  101,
  105,
  111,
  117,
  46,
  195,
  161,
  195,
  169,
  195,
  173,
  195,
  179,
  195,
  186,
  46,
  195,
  164,
  195,
  171,
  195,
  175,
  195,
  182,
  195,
  188,
  46,
  195,
  177 ]

也许你想检查我的编辑,它提供了一个简单快速的方法来制作一个字节数组