wins VS 컴 파일 된 파일 부터 xCode 난 장 판 까지 해결 하 는 JS 간단 한 샘플
GBK
GB2312
(이론 적 으로 어떤 파일 은 xcode 가 식별 할 수 있다).이 파일 들 의 인 코딩 을 통일 적 으로 바 꿀 수 있 도록 저 는 node.js
샘플 을 썼 고 아래 에 코드 를 붙 였 습 니 다.node.js
의 환경 은 인터넷 에 많은 튜 토리 얼 이 있 고 설치 환경 이 간단 하 다.2. 이 플러그 인 iconv-lite
이 필요 합 니 다. npm install iconv-lite
을 입력 하면 설치 할 수 있 습 니 다.3. 과감하게 시도 하 는 정신.(대충, 사실 나 도 해 봤 어.) // index.js
const fs = require('fs');
const path = require('path');
const iconv = require('iconv-lite');
console.log(' ...')
var root = path.join(__dirname)
readDir(path.join(root))
console.log(' ...')
function readDir(subPath){
fs.readdir(subPath,function(err,menu){
if(!menu)
return;
menu.forEach(function(ele){
fs.stat(subPath+"/"+ele,function(err,info){
if(info.isDirectory()){
readDir(subPath+"/"+ele);
}else{
//
if (isContains(ele, '.h') ||
isContains(ele, '.hpp') ||
isContains(ele, '.cpp') ||
isContains(ele, '.c') ||
isContains(ele, '.m') ||
isContains(ele, '.mm')) {
transStr(subPath, ele)
}
}
})
})
})
}
//
function isContains(str, substr) {
return str.indexOf(substr) >= 0;
}
//
function transStr(fontPath, subPath) {
var filePath = path.resolve(fontPath, subPath);
console.log("file: " + filePath)
var data = fs.readFileSync(filePath);
var change_data = iconv.decode(data,'gb2312');
var aie = iconv.encode(change_data,'utf8');
fs.writeFileSync(filePath, aie);
}
index.js
의 이름 을 마음대로) 어느 폴 더 나 윗 층 에 놓 고 터미널 에서 현재 디 렉 터 리 로 이동 한 다음 node index.js
을 실행 하면 됩 니 다.const fs = require('fs');
const path = require('path');
const iconv = require('iconv-lite');
node
모듈 을 가 져 옵 니 다. fs
파일 흐름 을 처리 하고 path
처리 경로 입 니 다. iconv-lite
인 코딩 전환 을 합 니 다.2. 가 져 오 는 경로
var root = path.join(__dirname)
readDir(path.join(root))
__dirname
현재 파일 이 있 는 디 렉 터 리 의 전체 디 렉 터 리 이름 3. 모든 폴 더 의 파일 을 옮 겨 다 니 기
function readDir(subPath){
fs.readdir(subPath,function(err,menu){
if(!menu)
return;
menu.forEach(function(ele){
fs.stat(subPath+"/"+ele,function(err,info){
if(info.isDirectory()){
readDir(subPath+"/"+ele);
}else{
//
if (isContains(ele, '.h') ||
isContains(ele, '.hpp') ||
isContains(ele, '.cpp') ||
isContains(ele, '.c') ||
isContains(ele, '.m') ||
isContains(ele, '.mm')) {
transStr(subPath, ele)
}
}
})
})
})
}
방식 으로 가 져 옵 니 다.fs.readdir(path, [callback(err,files)])
파일 디 렉 터 리 를 비동기 로 읽 습 니 다.fs.stat(path, [callback(err, stats)])
파일 정보 가 져 오기 .h .hpp .c .cpp .m .mm
일 때 만 인 코딩 전환 을 할 수 있 습 니 다.4. 파일 의 인 코딩 방식 으로 전환
function transStr(fontPath, subPath) {
var filePath = path.resolve(fontPath, subPath);
console.log("file: " + filePath)
var data = fs.readFileSync(filePath);
var change_data = iconv.decode(data,'gb2312');
var aie = iconv.encode(change_data,'utf8');
fs.writeFileSync(filePath, aie);
}
path.resolve([from ...], to)
인자 to 위치의 문 자 를 절대 경로 로 분석 하고 파일 의 절대 경 로 를 분석 합 니 다.fs.readFileSync(filename, [encoding])
비동기 로 파일 의 데 이 터 를 가 져 옵 니 다.fs.writeFileSync(filename, data, [options])
비동기 로 데 이 터 를 파일 에 기록 합 니 다.iconv.decode() iconv.encode()
디 코딩 과 인 코딩 데이터 의 형식 입 니 다. 여기 gb2312 utf8
는 하나의 예 일 뿐 다른 형식 (예 를 들 어 gbk ISO-8859
으로 바 꿀 수 있 습 니 다. 이것 은 여러분 의 시도 정신 이 필요 합 니 다. 왜냐하면 가끔 은 우리 도 그 가 도대체 어떤 인 코딩 인지 모 르 기 때 문 입 니 다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.