2017-07-05 5 views
1

JavaScriptとNode.jsを初めて使用しました。したがって、JSONファイルがあり、このファイルをUTF-8 JSONファイルにエンコードする必要があります。 Node.jsはどのように可能ですか?ファイルをNode.jsのUTF-8ファイルに変換する

ソースJSONファイルは別のフレームワークによって生成され、多分BOMを含んでいますが、BOMを持たないUTF-8 JSONファイルが必要です。

+0

これが完全な詐欺であるかどうかはわかりませんが[この質問は多分役立つかもしれません](https://stackoverflow.com/questions/20174280/nodejs-convert-string-into-utf-8)。 – evolutionxbox

+0

これは私を文字列に変換しますが、ファイルのエンコーディングを変更したいのです。だから、ファイルの内容を読んで、それをutf-8にエンコードして別のファイルに保存しなければならないかもしれません。しかし、私はJavaScriptで実装することを知らない。 – Martin

+0

ファイルを読み込み、内容を読み込み、変換して、ファイルを保存しますか?私には良い音だ – evolutionxbox

答えて

2
var fs = require('fs'); 
const detectCharacterEncoding = require('detect-character-encoding'); //npm install detect-character-encoding 
var buffer = fs.readFileSync('filename.txt'); 
var originalEncoding = detectCharacterEncoding(buffer); 
var file = fs.readFileSync('filename.txt', originalEncoding.encoding); 
fs.writeFileSync('filename.txt', file, 'UTF-8'); 

これはどのように機能しますか?

fsがファイルを読み込むと、ファイルのエンコーディングからJSが使用する形式に変換されます。

その後、fsがファイルを書き込むと、JSによって格納された文字列がUTF-8に変換され、ファイルに書き込まれます。

+0

ファイルの元のエンコーディングがわからない場合は、別のフレームワークで生成されたもので、ソースJSONファイルの元のソースコードを知りません。 – Martin

+0

@Martinはコードを編集して検出を組み込みました。 – skiilaa

関連する問題