gpt4 book ai didi

javascript - Node.js readFile 内容到 "??"中的字符串结果

转载 作者:搜寻专家 更新时间:2023-11-01 00:32:06 24 4
gpt4 key购买 nike

var fs = require('fs');
var myNumber = undefined;

function addOne(callback) {
fs.readFile('./User2.txt', 'utf8', function doneReading(err, fileContents) {
myNumber = fileContents.toString();
callback();
});
}

function logMyNumber() {
console.log(myNumber);
}

addOne(logMyNumber);

User2.txt 只包含一个字符“1”。

所以当我运行它时,输出是:“??1”。为什么会出现这些问号?我最初想要一个数字,但我刚收到消息,NaN(我猜不是数字)。所以我将缓冲区转换为字符串,并得到了这个。有帮助吗?

最佳答案

好像you are not the first one有这个问题。

基本上您只需要执行以下操作:

fs.readFile(filePath, 'utf8', function (err, fileContents) {
// Remove BOM character if there is one at the start of the file.
if(fileContents.charCodeAt(0) == 65279) fileContents = fileContents.substr(1);
}

在这里,您可以从该讨论中获得许多其他解决方法:

  • 替换:

    fileContents = fileContents.replace(/^\uFEFF/, '');

  • 使用 fs.readFileSync 而不是 fs.readFile

  • 使用 bomstrip包。

关于javascript - Node.js readFile 内容到 "??"中的字符串结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27697902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com