我的文件用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)
})
我尝试使用不同的字符集来恢复它但没有成功。谢谢!
答案 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);
});