node.js toString编码

时间:2013-06-06 14:50:38

标签: javascript node.js encoding tostring

我的文件用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)
})

我尝试使用不同的字符集来恢复它但没有成功。谢谢!

1 个答案:

答案 0 :(得分:5)

您需要使用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);
});