请教一个关于文件由UTF-8转码为GBK文件的问题
发布于 11 年前 作者 tonyc620 4126 次浏览 最后一次编辑是 8 年前

如题,看了网上不少关于nodejs不支持GBK的介绍,也了解了一下如iconviconv-liteGBK转为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!');
        });
    }
});
回到顶部