我正在练习 javascript,想了解 <Buffer 72 65 74 72 69 65 76 65 72>
错误。
我正在从一个名为dog.txt的文件中读取数据。我发现当我将“数据”放入 console.log 中时,我看到了这个 <Buffer 72 65 74 72 69 65 76 65 72>
错误。我知道解决方案是将“${data}”放入console.log中以获得预期结果。其实我想知道什么<Buffer 72 65 74 72 69 65 76 65 72>
意思是。
这是代码
return new Promise ((resolve,reject)=>{
fs.readFile(file,(err,data)=>{
if(err){reject("Data cannot be found")}else
resolve(data);
})
})
}
const getdata=async()=>{
try{
const data=await ReadfilePro(`./dog.txt`);
console.log(data);
}catch(err){
console.log(err);
}
}
getdata();
这里的dog.txt文件只包含这个狗的名字“retriever”,不带引号。
由于上述代码,我在控制台中得到了这个 <Buffer 72 65 74 72 69 65 76 65 72>
.
我希望你能给出详细的答案,如果这是一个愚蠢的问题,我很抱歉。
我不需要解决方案,我想要一个解释。谢谢
最佳答案
您正在读取的是字节缓冲区。 NodeJS 不能也不会假设您正在读取字符串,因为这是一个比人们想象的更难证明的假设。
其背后的原因是 readFile
位于您可用的最低抽象级别之一。如果人们知道数据的格式,他们就应该在此基础上编写代码。
幸运的是,有转换方法。假设您知道缓冲区是有效的 utf8,调用 data.toString('utf8')
将尝试将缓冲区转换为 utf8。
关于javascript - <Buffer 72 65 74 72 69 65 76 65 72> 请解释一下这在js中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57737597/