Почему fs. readFile не разделяется ;
и readFileSync нет, или они оба делают это?Но как получается, что вывод ниже отличается?
Содержимое файла readTesting.txt:
Entry1,Entry2,Entry3;2Entry1,2Entry2,2Entry3;3Entry1,3Entry2,3Entry3
fs.readFile("./readTesting.txt", "utf8", function (err, data) {
console.log(data)
});
Этожурнал из JSON.stringify без кодировки utf8:
{"type":"Buffer","data":[69,110,116,114,121,49,44,69,110,116,114,121,50,44,69,110,116,114,121,51,59,50,69,110,116,114,121,49,44,50,69,110,116,114,121,50,44,50,69,110,116,114,121,51,59,51,69,110,116,114,121,49,44,51,69,110,116,114,121,50,44,51,69,110,116,114,121,51]}
Глядя на это, 44 означает, что точка с запятой на самом деле не разделяется, а при использовании ее вместе с console.log (data)это разделяет это.И точки с запятой не видно.
Так что кажется, что они разделяют точку с запятой, потому что я не могу найти 59 в этом.И 59 равна точке с запятой.Так как же это работает?
Это журнал консоли с utf8 и readFile :
[ 'Entry1,Entry2,Entry3',
'2Entry1,2Entry2,2Entry3',
'3Entry1,3Entry2,3Entry3' ]
Thisэто журнал без какой-либо кодировки и readFileSync:
<Buffer 45 6e 74 72 79 31 2c 45 6e 74 72 79 32 2c 45 6e 74 72 79 33 3b 32 45 6e 74 72 79 31 2c 32 45 6e 74 72 79 32 2c 32 45 6e 74 72 79 33 3b 33 45 6e 74 72 ... >
это журнал консоли с utf8 и readFileSync :
Entry1,Entry2,Entry3;2Entry1,2Entry2,2Entry3;3Entry1,3Entry2,3Entry3
обратите внимание, что [] непосмотри там, угадай, что те, что раньше были в массиве.Также, как он показывает точку с запятой, если в буфере 59
нигде не было найдено.
Кроме того, буфер из readFileSync не имеет такой же структуры.