fs.readFile 返回字符串,但每个字符和添加字符之间有白色 space

fs.readFile returning string but with white space between every character and adding characters

fs.readFile() returning 字符串,每个字符之间都有空格,并且还添加波浪符号(~) 这是转换 <ApiDocument> 进入这个 "~< A p i D o c u m e n t >"

我试图解析 XML 以从存储的文件中获取字符串。我以为我可能搞砸了文件。所以我创建了另一个文件,里面只有简单的文本,比如 "test",我得到了相同的症状 "t e s t"

我还想可能是因为它是一个 xml 文件,所以我将它切换为 TXT,但仍然得到同样的结果。

我似乎不知道如何阐明这个问题,因为网上似乎没有人遇到同样的问题。

我也尝试了不同的编码。

我使用的是 Node 版本 10.15.0

fs.readFile("SalesReceiptExport.xml","UTF-8", function (err, data) {
    if (err) throw err;
    console.log(data);

});

我希望它读取包含 <Apidocument> 的文件 return 字符串 "<ApiDocument>" 但它变成了 "~ < A p i D o c u m e n t>"

文件是用Unicode写的吗?如果您执行以下操作会发生什么:

fs.readFile("SalesReceiptExport.xml","UTF-16", function(err,data) { 
   if (err) throw err;
   console.log(data);
});

创建文件时,您是否指定了编码方案?