Node.js 为什么同一个字符串有两个不同的缓冲区?

Node.js 为什么同一个字符串有两个不同的缓冲区?,node.js,string,hex,buffer,Node.js,String,Hex,Buffer,我正在尝试使用nodejs将字符串转换为缓冲区。字符串在这里: \xf5\x89\xf8\x19+q@o\xa7\xdcwa2\x8f@\x0c\xd1\x14\x8bT6u@~a]HG\x83 当我从控制台执行此操作时,我会得到一个简单的缓冲区。但是如果我从文本文件中读取,相应的缓冲区会以不同的方式产生。我正在使用以下代码: var data = '\xf5\x89\xf8\x19+q@o\xa7\xdcwa2\x8f@\x0c\xd1\x14\x8bT6u@~a]HG\x83'; cons

我正在尝试使用nodejs将字符串转换为缓冲区。字符串在这里:

\xf5\x89\xf8\x19+q@o\xa7\xdcwa2\x8f@\x0c\xd1\x14\x8bT6u@~a]HG\x83
当我从控制台执行此操作时,我会得到一个简单的缓冲区。但是如果我从文本文件中读取,相应的缓冲区会以不同的方式产生。我正在使用以下代码:

var data = '\xf5\x89\xf8\x19+q@o\xa7\xdcwa2\x8f@\x0c\xd1\x14\x8bT6u@~a]HG\x83';
const buf = Buffer.from(data, 'ascii');    // Converting string to buffer
console.log(buf);
// While reading from file
fs = require('fs')
fs.readFile('notes.txt', function (err,data) {
   console.log(data);
});

两种方式都可以得到相同的缓冲区吗

在数据变量中声明此值“\xf5\x89\xf8\x19”+q@o\xa7\xdcwa2\x8f@\x0c\xd1\x14\x8bT6u@~a]HG\x83“

其中,“\”字符在转换为缓冲区时不计算在内

请使用双反斜杠。见示例:

var data = '\\xf5\\x89\\xf8\\x19+q@o\\xa7\\xdcwa2\\x8f@\\x0c\\xd1\\x14\\x8bT6u@~a]HG\\x83';