본 글의 예시에서는 자바스크립트로 파일 인코딩 형식을 일괄 수정하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
요약:
최근 매뉴얼을 만들다가 '문서 왜곡' 문제가 발생했습니다. 파일을 확인해 보니 총 100개 이상의 파일이 잘못되어 있었습니다. 편집기를 사용하여 utf8로 저장했습니다. 그래서 파일 인코딩 형식을 일괄적으로 수정하는 프로그램을 작성했습니다.
코드:
//소개 패키지
var fs = require('fs'),
iconv = require('iconv-lite');
//전역변수
var root_path = './html',
File_type = ['html', 'htm'],
From_code = 'GBK',
to_code = 'UTF8';
/**
* 요소가 배열에 있는지 확인
* @날짜 2015-01-13
* @param {[String]} elem [찾을 요소]
* @return {[bool]} [설명]
*/
Array.prototype.inarray = 함수(요소) {
"엄격한 사용";
var l = this.length;
동안 (l--) {
If (this[l] === elem) {
true를 반환합니다.
}
}
false를 반환합니다.
};
/**
* 트랜스코딩 기능
* @날짜 2015-01-13
* @param {[String]} root [인코딩 파일 디렉터리]
* @return {[유형]} [설명]
*/
함수 encodeFiles(루트) {
"엄격한 사용";
var 파일 = fs.readdirSync(root);
files.forEach(함수(파일) {
var 경로명 = 루트 '/' 파일,
stat = fs.lstatSync(경로명);
If (!stat.isDirectory()) {
var 이름 = file.toString();
If (!file_type.inarray(name.substring(name.lastIndexOf('.') 1))) {
반품;
}
fs.writeFile(경로 이름, iconv.decode(fs.readFileSync(경로 이름), from_code), {
인코딩: to_code
}, 함수(err) {
만약 (오류) {
오류를 던졌습니다.
}
});
} 그 밖의 {
encodeFiles(경로명);
}
});
}
encodeFiles(root_path);
요약:
위 프로그램은 다중 레벨 디렉터리를 지원하며 동일한 파일을 여러 번 실행할 수 없습니다. 그렇지 않으면 잘못된 문자가 나타납니다.
전체 코드는 여기를 클릭하여 이 사이트에서 다운로드할 수 있습니다.
이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.