Das Beispiel in diesem Artikel beschreibt die Methode der Stapeländerung des Dateikodierungsformats mit JavaScript. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Zusammenfassung:
Als ich kürzlich ein Handbuch erstellte, stieß ich auf ein Problem mit „verstümmelten Dokumenten“. Nach der Überprüfung der Dateien stellte ich fest, dass es insgesamt mehr als 100 Dateien gab Ich habe einen Editor verwendet, um sie als utf8 zu speichern. Also habe ich ein Programm geschrieben, um das Dateikodierungsformat stapelweise zu ändern.
Code:
//Einführungspaket
var fs = require('fs'),
iconv = require('iconv-lite');
//Globale Variablen
var root_path = './html',
File_type = ['html', 'htm'],
From_code = 'GBK',
to_code = 'UTF8';
/**
* Bestimmen Sie, ob sich das Element im Array
befindet
* @Datum 13.01.2015
* @param {[String]} elem [das zu findende Element]
* @return {[bool]} [Beschreibung]
*/
Array.prototype.inarray = function(elem) {
„strikt verwenden“;
var l = this.length;
while (l--) {
If (this[l] === elem) {
return true;
}
}
return false;
};
/**
* Transkodierungsfunktion
* @Datum 13.01.2015
* @param {[String]} root [Verzeichnis der Kodierungsdatei]
* @return {[Typ]} [Beschreibung]
*/
Funktion encodeFiles(root) {
„strikt verwenden“;
var files = fs.readdirSync(root);
files.forEach(function(file) {
var pathname = root '/' file,
stat = fs.lstatSync(pathname);
If (!stat.isDirectory()) {
var name = file.toString();
If (!file_type.inarray(name.substring(name.lastIndexOf('.') 1))) {
zurück;
}
fs.writeFile(pathname, iconv.decode(fs.readFileSync(pathname), from_code), {
Kodierung: to_code
}, Funktion(err) {
Wenn (irrt) {
throw err;
}
});
} sonst {
encodeFiles(pathname);
}
});
}
encodeFiles(root_path);
Zusammenfassung:
Das obige Programm unterstützt mehrstufige Verzeichnisse und dieselbe Datei kann nicht mehrmals bearbeitet werden, da sonst verstümmelte Zeichen angezeigt werden.
Der vollständige Code kann von dieser Website heruntergeladen werden, indem Sie hier klicken.
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.