[node.js] CP932のテキストを読み込む
Windowsで作成したテキストファイル (文字コードが CP932) をNode.jsで読み込むときに、どのモジュールを使うか毎回検索するのでメモ。
node-iconv
より iconv-lite
の方が早いらしい。
ついでに promisify
と async
/ await
のサンプルとしてテストコードを作成してみた。
const fs = require("fs");
const util = require("util");
const iconv = require("iconv-lite");
// 対象ファイル
const filePath = `./test.txt`;
// readFileをpromiseを返すように変換
const readFileAsync = util.promisify(fs.readFile);
async function main() {
try {
// テキストファイルを読み込む
const buf = await readFileAsync(filePath);
// CP932->UTF8に変換
const text = iconv.decode(buf, "CP932");
console.log(text);
} catch (err) {
console.log("ERROR:", err);
}
}
main();
コメント
コメントを投稿