Javascript 在Node.js中将文件转换为UTF-8文件

Javascript 在Node.js中将文件转换为UTF-8文件,javascript,json,node.js,encoding,utf-8,Javascript,Json,Node.js,Encoding,Utf 8,我不熟悉JavaScript和Node.js。所以,我有一个JSON文件,我想把这个文件编码成一个UTF-8JSON文件。如何使用Node.js实现这一点 源JSON文件由另一个框架生成,可能包含BOM,但我需要一个没有BOM的UTF-8 JSON文件来处理它 var fs = require('fs'); const detectCharacterEncoding = require('detect-character-encoding'); //npm install detect-char

我不熟悉JavaScript和Node.js。所以,我有一个JSON文件,我想把这个文件编码成一个UTF-8JSON文件。如何使用Node.js实现这一点


源JSON文件由另一个框架生成,可能包含BOM,但我需要一个没有BOM的UTF-8 JSON文件来处理它

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并将其写入文件。

虽然我不确定这是一个完全重复的文件,但这会将我转换为字符串,但我想更改文件的编码。所以,也许我必须读取文件的内容,将其编码为utf-8,然后将其保存到另一个文件中。但我不知道如何用JavaScript实现。加载文件,读取内容,转换,保存文件?从理论上讲,听起来不错,但是如何用一个小例子来实现它呢?“源JSON文件是由另一个框架生成的,可能包含BOM”-那么它不是JSON:如果我不知道文件的原始编码呢?它是由另一个框架生成的,我不知道源JSON文件的原始源代码。