请教一个关于文件由UTF-8转码为GBK文件的问题
如题,看了网上不少关于nodejs不支持GBK的介绍,也了解了一下如iconv
和iconv-lite
将GBK转为UTF8的buffer的示例,但是还没有搞明白,如果我想通过nodejs,将一个原本是UTF8格式的文件转码为一个GBK格式的文件应该怎么做呢?
4 回复
先读入那个文件,然后 iconv-lite.encode 成 gbk
我写了一个模块 你在npmjs 上搜索下 liveinjs-gbk,有详细的注释
本来不想写注释的,国内都这样…,想想还是写了吧。
谢谢,已经解决了,贴一下代码:
var fs = require('fs');
var iconv = require('iconv-lite');
fs.readFile('./a_uft8.md', function(err, data) {
if (err) {
console.error(err);
} else {
var str = iconv.decode(data, 'utf-8');
var str2 = iconv.encode(str, 'gbk')
// encoding必须要设置为null
fs.writeFile('./b_gbk.md', str2, null, function (err) {
if (err) throw err;
console.log('It\'s saved!');
});
}
});