Heim >Web-Frontend >js-Tutorial >So ändern Sie das Dateikodierungsformat in Javascript_Javascript-Kenntnissen stapelweise

So ändern Sie das Dateikodierungsformat in Javascript_Javascript-Kenntnissen stapelweise

WBOY
WBOYOriginal
2016-05-16 16:18:041357Durchsuche

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:

Code kopieren Der Code lautet wie folgt:
/**
* Ändern Sie das Dateikodierungsformat, zum Beispiel: GBK zu UTF8
* Unterstützt mehrstufige Verzeichnisse
* @param {String} [root_path] [Dateipfad, der transkodiert werden muss]
* @param {Array} [file_type] [Dateiformat, das transkodiert werden muss, z. B. HTML-Datei]
* @param {String} [from_code] [Dateikodierung]
* @param {String} [to_code] [Zielkodierung der Datei]
​*/

//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.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn