node.js toString编码

igo*_*gor 3 javascript encoding tostring node.js

我有用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)
})
Run Code Online (Sandbox Code Playgroud)

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

The*_*ppo 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);
});
Run Code Online (Sandbox Code Playgroud)

读取二进制编码数据string:

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

        fs.writeFile('fileTwo', {
            'encoding': 'binary'
        }, data);
});
Run Code Online (Sandbox Code Playgroud)