Rumah > hujung hadapan web > tutorial js > Cara kumpulan mengubah suai format pengekodan fail dalam kemahiran javascript_javascript

Cara kumpulan mengubah suai format pengekodan fail dalam kemahiran javascript_javascript

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-05-16 16:18:04
asal
1410 orang telah melayarinya

Contoh dalam artikel ini menerangkan kaedah kelompok mengubah suai format pengekodan fail dengan JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:

Ringkasan:

Baru-baru ini, semasa saya membuat manual, saya menghadapi masalah "dokumen yang tidak betul". untuk menyimpannya sebagai utf8, ia akan menjadi tragis. Jadi saya menulis program untuk mengubah suai format pengekodan fail dalam kelompok.

Kod:

Salin kod Kod adalah seperti berikut:
/**
* Ubah suai format pengekodan fail, contohnya: GBK kepada UTF8
* Menyokong direktori pelbagai peringkat
* @param {String} [root_path] [Laluan fail yang perlu ditranskod]
* @param {Array} [file_type] [Format fail yang perlu ditranskod, seperti fail html]
* @param {String} [from_code] [Pengekodan fail]
* @param {String} [to_code] [Pengekodan sasaran fail]
,*/

//Pakej pengenalan
var fs = memerlukan('fs'),
iconv = memerlukan('iconv-lite');

//Pembolehubah global
var root_path = './html',
Jenis_fail = ['html', 'htm'],
From_code = 'GBK',
to_code = 'UTF8';

/**
* Tentukan sama ada elemen berada dalam tatasusunan
* @tarikh 2015-01-13
* @param {[String]} elem [elemen untuk ditemui]
* @return {[bool]} [penerangan]
,*/
Array.prototype.inarray = function(elem) {
"gunakan ketat";
var l = ini.panjang;
manakala (l--) {
Jika (ini[l] === elem) {
       kembali benar;
}
}
pulangkan palsu;
};

/**
* Fungsi transcoding
* @tarikh 2015-01-13
* @param {[String]} root [mengekodkan direktori fail]
* @return {[type]} [penerangan]
,*/
function encodeFiles(root) {
"gunakan ketat";
var files = fs.readdirSync(root);
files.forEach(function(fail) {
var pathname = root '/' fail,
​​stat = fs.lstatSync(nama laluan);
Jika (!stat.isDirectory()) {
var name = file.toString();
Jika (!file_type.inarray(name.substring(name.lastIndexOf('.') 1))) {
         kembali;
}
            fs.writeFile(pathname, iconv.decode(fs.readFileSync(pathname), from_code), {
pengekodan: to_code
}, fungsi(err) {
Jika (err) {
            silap buang;
}
});
} lain {
encodeFiles(pathname);
}
});
}
encodeFiles(root_path);

Ringkasan:

Atur cara di atas menyokong direktori berbilang peringkat, dan fail yang sama tidak boleh dikendalikan beberapa kali, jika tidak, aksara yang bercelaru akan muncul.
Kod lengkap boleh dimuat turun dari tapak ini dengan mengklik di sini.

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan