3

我有用 koi8-u 编码的文件

我只需要复制这个文件,但是,通过 toString()

fs = require('fs')
fs.readFile('fileOne',function(e,data){
    data = data.toString() // now encoding is damaged

    ???  // my code must be here

    fs.writeFile('fileTwo',data)
})

我使用不同的字符集尝试了 iconv ,但没有成功。谢谢!

4

1 回答 1

6

binary您需要使用编码写入和读取所有内容:

应该有两种方法可以做到这一点:

读取数据为Buffer

fs = require('fs')
fs.readFile('fileOne', function(e, data){
    // data is a buffer
    buffer = data.toString('binary')


    fs.writeFile('fileTwo', {
        'encoding': 'binary'
    }, buffer);
});

以二进制编码读取数据string

fs = require('fs')
fs.readFile('fileOne', {
        'encoding': 'binary'
    }, function(e, data){
        // data is a string

        fs.writeFile('fileTwo', {
            'encoding': 'binary'
        }, data);
});
于 2013-06-07T11:06:12.870 回答