我正在尝试使用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);
});
是否可以同时获得相同的缓冲区?
答案 0 :(得分:2)
在数据变量中,您声明此值“\ 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';