fs.readFile возвращает строку, но с пробелом между каждым символом и добавлением символов - PullRequest
0 голосов
/ 16 апреля 2019

fs.readFile () возвращает строку с пробелами между каждым символом, а также добавляет символ тильды (~), который преобразуется <ApiDocument> в этот "~< A p i D o c u m e n t >"

Я пытался проанализировать XMLпросто получить строку из сохраненного файла.Я подумал, что, возможно, запутался в файле.поэтому я создал еще один файл с простым текстом, таким как «test», и я получаю те же симптомы «test»

Я также подумал, может быть, это потому, что это был файл XML, поэтому я переключил его на TXT и до сих порполучил то же самое.

Кажется, я не знаю, как сформулировать проблему, потому что, похоже, ни у кого в сети нет такой же проблемы.

Я также пробовал разные кодировки.

Я использую версию Node 10.15.0

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

});

Я ожидаю, что он прочитает файл, содержащий <Apidocument> и вернет строку с "<ApiDocument>", но вместо этого он преобразуется в "~ < A p i D o c u m e n t>"

1 Ответ

1 голос
/ 16 апреля 2019

Файл записан как Unicode?Что произойдет, если вы сделаете следующее:

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

Когда файл был создан, вы указали или можете указать схему кодирования?

...