3

「á」や「è」などの拡張 ASCII 文字を含むファイルを読み込もうとしていますが、NodeJS はそれらを認識していないようです。

私はに読んでみました:

  • バッファ

別のエンコーディングタイプを試しました:

  • アスキー
  • base64
  • utf8

http://nodejs.org/api/fs.htmlで参照されているとおり

これを機能させる方法はありますか?

4

3 に答える 3

4

このようなファイルを読み取るには、バイナリ型を使用します。例えば

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 バッファーで実行したためです。

于 2012-07-17T18:52:16.263 に答える
2

読み込もうとしていたファイルは ANSI エンコーディングでした。fs モジュールの関数で読み込もうとしたところ、拡張 ASCII 文字の変換ができませんでした。

ファイルにUTF-8エンコーディングのフラグを立てるだけでなく、nodepad++が実際に一部のフォーマットからUTF-8に変換できることがわかりました。

変換した後、問題なく読み取り、必要なすべての操作をコンテンツに適用することができました。

回答ありがとうございます。

于 2012-07-17T19:21:50.787 に答える