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

Jul*_*lhé 2 javascript ucs2 utf-8 utf-16 node.js

我有一个以 UTF16 编码的 xml 文件,我想将其转换为 UTF8 以进行处理。如果我使用这个命令:

iconv -f UTF-16 -t UTF-8 file.xml > converted_file.xml
Run Code Online (Sandbox Code Playgroud)

该文件已正确转换,我能够处理它。我想在 nodejs 中做同样的事情。

目前我有我的文件缓冲区,我已经尝试了所有我能想到的以及我可以在互联网上找到的东西,但没有成功。

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

content = new Buffer((new Buffer(content, 'ucs2')).toString('utf8'));
Run Code Online (Sandbox Code Playgroud)

我也试过使用这些功能:

http://jonisalonen.com/2012/from-utf-16-to-utf-8-in-javascript/ /sf/answers/1022126591/

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

小智 5

var content = fs.readFileSync('myfile.xml', {encoding:'ucs2'});
fs.writeFileSync('myfile.xml', content, {encoding:'utf8'});
Run Code Online (Sandbox Code Playgroud)