「á」や「è」などの拡張 ASCII 文字を含むファイルを読み込もうとしていますが、NodeJS はそれらを認識していないようです。
私はに読んでみました:
- バッファ
- 弦
別のエンコーディングタイプを試しました:
- アスキー
- base64
- utf8
http://nodejs.org/api/fs.htmlで参照されているとおり
これを機能させる方法はありますか?
「á」や「è」などの拡張 ASCII 文字を含むファイルを読み込もうとしていますが、NodeJS はそれらを認識していないようです。
私はに読んでみました:
別のエンコーディングタイプを試しました:
http://nodejs.org/api/fs.htmlで参照されているとおり
これを機能させる方法はありますか?
このようなファイルを読み取るには、バイナリ型を使用します。例えば
var fs = require('fs');
// this comment has I'm trying to read a file that contains extended ascii characters like 'á' or 'è',
fs.readFile("foo.js", "binary", function zz2(err, file) {
console.log(file);
});
上記を foo.js に保存すると、出力に次のように表示されます。
var fs = require('fs');
// this comment has I'm trying to read a file that contains extended ascii characters like '⟡ 漀爀 ✀',
fs.readFile("foo.js", "binary", function zz2(err, file) {
console.log(file);
});
上記の奇妙な点は、emacs バッファーで実行したためです。
読み込もうとしていたファイルは ANSI エンコーディングでした。fs モジュールの関数で読み込もうとしたところ、拡張 ASCII 文字の変換ができませんでした。
ファイルにUTF-8エンコーディングのフラグを立てるだけでなく、nodepad++が実際に一部のフォーマットからUTF-8に変換できることがわかりました。
変換した後、問題なく読み取り、必要なすべての操作をコンテンツに適用することができました。
回答ありがとうございます。