Node.js の fs.readFile() が文字列ではなくバッファを返すのはなぜですか? 質問する

Node.js の fs.readFile() が文字列ではなくバッファを返すのはなぜですか? 質問する

test.txt私は、(Javascript ソースと同じフォルダーにある)のコンテンツを読み取り、次のコードを使用して表示しようとしています:

var fs = require("fs");

fs.readFile("test.txt", function (err, data) {
    if (err) throw err;
    console.log(data);
});

のコンテンツtest.txtは に作成されましたnano:

Node.js readFile() のテスト

そして、私はこれを得ています:

Nathan-Camposs-MacBook-Pro:node_test Nathan$ node main.js
<Buffer 54 65 73 74 69 6e 67 20 4e 6f 64 65 2e 6a 73 20 72 65 61 64 46 69 6c 65 28 29>
Nathan-Camposs-MacBook-Pro:node_test Nathan$ 

ベストアンサー1

からドキュメント:

エンコードが指定されていない場合は、生のバッファが返されます。

これは を説明するかもしれません。ファイル名の後の 2 番目のパラメータとして、<Buffer ...>有効なエンコーディング (例: ) を指定します。たとえば、utf-8

fs.readFile("test.txt", "utf8", function(err, data) {...});

おすすめ記事