现在要做压缩和解压缩,用的是adm-zip。 现在碰到个问题,我的解压缩出来的文件含中文乱码。 我看了adm-zip的底层代码,发现它是用buffer来写入,如下代码所示:
function(path, content, overwrite,attr) { if (fs.existsSync(path)) { if (!overwrite) return false; // cannot overwite
var stat = fs.statSync(path);
if (stat.isDirectory()) {
return false;
}
}
var folder = pth.dirname(path);
if (!fs.existsSync(folder)) {
mkdirSync(folder);
}
var fd;
try {
fd = fs.openSync(path, 'w', 438); // 0666
} catch(e) {
fs.chmodSync(path, 438);
fd = fs.openSync(path, 'w', 438);
}
if (fd) {
fs.writeSync(fd, content, 0, content.length, 0);
fs.closeSync(fd);
}
fs.chmodSync(path, attr || 438);
return true;
}
我看了fs.writeSync的API说明,发现没有转中文的方式,请问有什么解决方法么?谢谢~