node.js fs.writeFileSync()如何设置编码为big5?

fs.writeFileSync编码默认是UTF 8我不能将编码设置为big5。 该文档没有提到这些编码支持。 如果这个function不支持BIG5,我能做什么?

var fs = require('fs'); var FilePath='./text.txt'; var Str='this is a test!'; var encode='utf8'; fs.writeFileSync(FilePath, Str, encode); 

当我设置编码(var encode ='big5';)BIG5时,服务器产生一个错误。

要使用Node Core不标准的编码。 你可以使用iconv-lite 。

它增加了对其他编码的支持,包括big5 , 这里是编码的完整列表 。

 const iconv = require('iconv-lite'); const fs = require('fs'); const stream = require('stream'); var Str = iconv.encode('This is a test', 'big5'); var readStream = new stream.PassThrough(); var writeStream = fs.createWriteStream('./text.txt'); readStream.once('error', (err) => { console.log(err); }); readStream.once('end', () => { console.log('File Written'); }); readStream.end(Str); // write data to stream readStream.pipe(writeStream); // pipe data to file