Kolega saya sebelumnya menulis sebuah alat, tetapi ada bug, yaitu, setelah mengganti file, format file asli menjadi BOM UTF8. Jenis XML dengan BOM ini mungkin tidak dibaca di Mac, jadi saya perlu menulis alat untuk menghadapinya.
Faktanya, idenya relatif sederhana. Pertama, beralih melalui direktori, lalu baca direktori, hapus tiga byte pertama file, dan simpan sebagai file dalam format UTF-8. Cukup masukkan kode :)
Salinan kode adalah sebagai berikut:
var fs = membutuhkan ('fs');
var path = "Target Path ...";
fungsi readdirectory (dirpath) {
if (fs.existsync (dirpath)) {
var file = fs.readdirsync (dirpath);
file.foreach (function (file) {
var filepath = dirpath + "/" + file;
var stats = fs.statsync (filepath);
if (stats.isdirectory ()) {
Console.log ('/n Direktori Baca:/n', filepath, "/n");
readdirectory (filepath);
} else if (stats.isfile ()) {
var buff = fs.readfileSync (filepath);
if (buff [0] .tostring (16) .tolowerCase () == "ef" && buff [1] .tostring (16) .tolowercase () == "bb" && buff [2] .toString (16) .tolowercase () == "bf") {
// ef bb bf 239 187 191
console.log ('/temukan file bom:', filepath, "/n");
buff = buff.slice (3);
fs.writefile (filepath, buff.tostring (), "utf8");
}
}
});
} kalau tidak {
console.log ('Not Found Path:', Dirpath);
}
}
readdirectory (path);