Javascript 如何在nodejs中将UTF16文件转换为UTF8文件

Javascript 如何在nodejs中将UTF16文件转换为UTF8文件,javascript,node.js,utf-8,utf-16,ucs2,Javascript,Node.js,Utf 8,Utf 16,Ucs2,我有一个用UTF16编码的xml文件,我想把它转换成UTF8来处理它。如果我使用此命令: iconv -f UTF-16 -t UTF-8 file.xml > converted_file.xml 文件已正确转换,我能够处理它。我想在nodejs中也这样做 目前我有一个文件缓冲区,我尝试了我能想到的一切,以及我能在互联网上找到的东西,但都没有成功 以下是我迄今为止尝试过的一些例子: content = new Buffer((new Buffer(content, 'ucs2')).t

我有一个用UTF16编码的xml文件,我想把它转换成UTF8来处理它。如果我使用此命令:

iconv -f UTF-16 -t UTF-8 file.xml > converted_file.xml
文件已正确转换,我能够处理它。我想在nodejs中也这样做

目前我有一个文件缓冲区,我尝试了我能想到的一切,以及我能在互联网上找到的东西,但都没有成功

以下是我迄今为止尝试过的一些例子:

content = new Buffer((new Buffer(content, 'ucs2')).toString('utf8'));
我也尝试过使用这些函数:


第一个没有改变任何东西,链接只给我中文字符。

如果我不确定我的文件是否是utf16编码的,怎么办?这是你必须限制的。要么验证它是utf16,要么找出类型。通常,您可以查询传入数据以查找类型并插入UCS2的所述类型。如果我不确定文件是否为utf16编码,该怎么办?这是您必须限制的内容。要么验证它是utf16,要么找出类型。通常,您可以查询传入数据以查找类型并为ucs2插入所述类型
var content = fs.readFileSync('myfile.xml', {encoding:'ucs2'});
fs.writeFileSync('myfile.xml', content, {encoding:'utf8'});