본문 바로가기

쓰기

안녕하세요...
요즘 Aral이란 프로그램 덕에 갑자기 컴퓨터가 좋아진 사람입니다.
다시한번 모든 개발자분께 감사하구요..

저도 아주아주 미약한 실력이지만 .. 참여해 보려고 합니다. (Aral에 도움될 실질적 가능성 0.0001%)
제가 관심가지는 부분은
단순님이 작업하시는 EzTranceXP 사전파일 편집기인데요...(이하 단순파일)

어찌어찌해서 단순파일 포멧구조는 완벽히는 아니지만 풀어냈거든요..
그래서 개인적으로 단순님파일 갱신되면 개인적으로 만든 사전파일이랑 합쳐서 사용하고 있는데요
그게 일단은 단어 하나 추가하는데도 이버튼 저버튼 눌러가며 복잡한데다가
문제는 컴이 느려서 그런지... 단어가 많아져서 그런지 ....
EzTrance를 이용해서 새 단어하나 추가하고 저장하는데 걸리는 시간이 장난 아니게 걸리거든요 (해보신분은 알거에요)
오늘 보니 단순님본인도 더 이상 제보단어를 처리하기 어렵다고 말씀하시더라구요(그 노고가 어느정도인지 짐작이감)

그래서 생각에 텍스트 파일로 작업한 다음 이걸 일괄적으로 사전 파일로 변경시키면
편하겠다 생각이 들더라구요.

문제는 메모장에서 텍스트 파일로 작업하면 UTF코드로 작성되어지는데...
이걸 그 사전파일로 만들려면 일어부분은 SHIFT-JIS 한글은 KS코드로 변환해야 하거든요
근데 이런쪽에는 제가 전혀 아는게 없어서(다른쪽도 마찬가지지만)
그래서 이렇게 도움을 요청합니다.


UTF->SHIFT-JIS 변환 소스나 라이브러리
UTF->KS 변환 소스나 라이브러리
이랑 기왕이면 이 반대되는 코드
등이 알고 싶습니다.

프로그램은 예전 도스시절에 잠시 해보았구요...
지금 가지고 있는 컴파일러는 VC 6.0이에요
많은 도움부탁드립니다.


분류 :
Talk
조회 수 :
13984
등록일 :
2008.09.02
14:40:55
엮인글 :
https://arallab.hided.net/3767/6d2/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/3767

봉래인형

2008.09.02
18:32:14

* MultiByteToWideChar 로 UTF 를 wchar 로 변환 이후, wchar 를 WideCharToMultiByte 로 SHIFT-JIS 로 변환.
* iconv 계열 함수 사용.

대충 이 두가지 방법이...

Hide_D

2008.09.02
22:43:11
버그가 있지만 참고해 보세요.
이지트랜스 사용자 사전 변환기

호기심맨

2008.09.08
12:11:21

아 답변이 늦었습니다.
가르켜 주신거 적용하고 확인하고 하다보니 시간이 훌쩍 지나가버렸네요
너무 잘되네요
봉래인형님 히데님 너무 감사합니다.

아 그런데 하다보니 의문이 하나 더 생겨서요....염치불구하고 다시 재질문드릴게요
메모장으로 UTF-8포멧으로 저장된 파일불르면 항상 처음에 0xbfbbef코드가 붙드라구요
이것이 모든 UTF-8문서에는 반드시 붙여줘야 하는 헤더인지
아니면 메모장이란 프로그램에서만 특수하게 쓰이는 코드인지... 궁금하네요

문제는 이데이타가 MultiByte...거쳐 WideTo...로 ShiftJis로 컨버트되면 0x63 '?'으로 기록되기 때문에...
어떤 용도로 쓰이는 데이타인지 알아내야 좀더 깔끔한 프로그램이 될거 같네요..
혹시 아신다면 다시한번 도움 부탁드립니다. (꾸벅) 

아차차.... 그리고 하나만 더 질문 올릴게요..
문자열이 UTF-8이나ShiftJis그리고 KS코드인지 검사할수 잇는 간단한 함수같은게 있나요?

Hide_D

2008.09.16
23:09:22
답변이 늦었습니다.
죄송합니다 ^^;;

1. 유니코드로 기록된 경우에 유니코드임을 알리기 위해
쓰이는 BOM기호라고 합니다.
있어도 되고 없어도 됩니다만
비유니코드 파일에선 없애줘야겠죠?

2. MS-949와 Shift-JIS를 따로 구분해 주는 녀석은 아쉽게도 없습니다. (유니코드 <-> 비 유니코드 구분은 가능)
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
309 Talk DumpText는 아직 개선이 좀 필요한듯; [3] Hide_D 8111   2008-08-03 2009-01-06 01:00
여러개를 켤 수가 없다는 단점이 있네요[...] 그나저나 질문, 헤더 파일에서 extern으로 선언하면 그 프로그램 전체에서 공유되는건가요? 그렇다면, 창은 하나만 띄우고 플러그인 로드될때마다 번호를 매겨서 옵션을 먹여야 하려나요..  
308 Archive [플러그인, 소스] FixControlCharactor 20080817(테스트버전) file Hide_D 8126   2008-08-17 2009-01-06 01:01
 
307 Archive [플러그인, 소스] FixControlCharactor 20080816(테스트버전) [1] file Hide_D 8131   2008-08-16 2009-01-06 02:05
 
306 Talk 개행 처리 관련해서 일단 제 구상입니다 Hide_D 8149   2008-08-21 2009-01-06 01:05
랄까 어느새인가 개행처리가 아니라 텍스트 처리 필터가 되어있습니다만[......] (CmdFilter는 텍스트와 텍스트 바깥을 구분하고, 이건 텍스트 내부를 처리하는 느낌?) 우선 입력 받을 내용은 MaxLine MaxWord (MaxChar?) 개행 기호 문자열(또는 Hex) 그리고 ...  
305 Talk 어? ezTransXP 플러그인을 분석하다 생각난건데 [1] Hide_D 8162   2008-07-22 2008-11-22 16:38
이 플러그인에서는 전각 기호는 다른 코드로 치환해 뒀다가 다시 전각 기호로 되돌려주는데, 반각기호는 처리법이 약~간 특이합니다. 1. 원문에 ()<>{}가 없고, 번역문에 ()<>{}가 있으면, ()<>{}와 그 안의 내용을 날립니다. 2. 원문에 ()<>{}가 있고, 번역문...  
304 Archive [플러그인, 소스] DenyWord 테스트 버전 20080810 file whoami 8164   2008-08-10 2009-01-06 01:26
 
303 Talk VS 2005로 갈아탔습니다 [1] Hide_D 8272   2008-08-03 2009-01-06 01:34
MFC, 리소스 에디터 때문에 도저히 못 버티다가 옮겼습니다. VS 2008 깔고는 그 느린 속도에 기겁했는데, 이쪽은 꽤 빠르네요. [우홋홋] 근데, 2005와 2008 차이가 뭐죠? 버전 옮길때 그냥 파일 열고 버전 숫자만 바꾸면 땡이네요[...]  
302 Talk 컨텍스트 구조 제안(핸들러 구조) [4] Hide_D 8336   2011-04-21 2011-04-23 20:17
가령 모듈 3가지가 DumpText, FixLine, EzTransXP 요렇게 있다고 가정할때 var c0_EzTransXP = new EzTransXP("NoSpace"); var c0_DumpText = new DumpText("KOut,KHex,KHex16"); var c0_FixLine = new FixLine("/ATData/c0.dat"); c0_DumpText.setNext(c0_EzT...  
301 Archive [플러그인, 소스] 사용자 대본 & 사전 플러그인 20080809(테스트버전) [2] file Hide_D 8362   2008-08-09 2008-08-10 00:02
 
300 Talk 플러그인을 다시 Multi2용으로 만들면서 생긴 궁금증 [4] Hide_D 8374   2008-08-09 2009-01-06 01:26
MFC를 그대로 써야하는지라 API용의 기본틀을 쓸순 없어서 새로 만들었는데, extern "C" __declspec(dllexport) BOOL __stdcall OnPluginInit(HWND hSettingWnd, LPSTR cszSettingStringBuffer); extern "C" __declspec(dllexport) BOOL __stdcall OnPluginOpt...  
299 Archive [플러그인, 소스] preKoFilter 테스트 버전 20080716_3...oTL file whoami 8454   2008-07-16 2009-01-06 01:00
 
298 Talk 아... 괴물한자의 정체가 Hide_D 8458   2008-08-23 2009-01-06 01:05
일반적인 과정 후킹시에 MS949 -> Shift-JIS(괴물 한자) 아랄이 인식한 텍스트 출력 함수에서 Shift-JIS(괴물 한자) -> MS949 인데, 괴물세트(?) 후킹시에 MS949 -> Shift-JIS(괴물 한자) 아랄이 인식 하지 못한 텍스트 출력 함수에서 Shift-JIS(괴물 한자) ->...  
297 Archive [플러그인, 소스] ATCode 테스트 버전 20080723 [2] file whoami 8470   2008-07-23 2009-01-06 01:27
 
296 Archive [플러그인, 소스] DenyWord 테스트 버전 20080811_2 file whoami 8479   2008-08-11 2009-01-06 01:05
 
295 Archive [플러그인, 소스] DenyWord 테스트 버전 20080908 file Hide_D 8530   2008-09-08 2009-01-06 01:01
 
294 Talk 어휴.. [2] file whoami 8573   2008-08-11 2009-01-06 01:06
 
293 Talk 루비문자 처리 스샷 입니다. file 라파에 8595   2008-08-17 2008-08-17 17:43
 
292 Archive [플러그인, 소스] DenyWord 테스트 버전 20080810_2 [1] file whoami 8641   2008-08-10 2009-01-06 01:06
 
291 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080807 whoami 8699   2008-08-07 2009-01-06 01:26
고급 옵션 설정시 중복되는 버그 고친 버전입니다. 이상한데.. 분명히 고친 것 같았는디... 버그가 또 발견되어 삭제합니다. http://aralgood.com/zbxe/56444 를 참조.  
290 Archive [플러그인, 소스] D.C.2 Only 20080817_2(테스트버전) [5] file Hide_D 8703   2008-08-17 2008-08-28 22:53