C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[72106] Re:TZip 사용 한글문제
memi [j00nh0] 3430 읽음    2014-12-09 15:25
도와주신 모든 분들 정말 감사드립니다.
덕분에 문자체계에 대해 많이 공부했습니다. 위키, msdn, 등
아무 생각없이 쉽게 선언해서 쓰던 스트링이 알아야 할게 많았네요~~!
근데 한가지 질문이 더있습니다. (이건 답 안해주셔도되요;;)
http get해서 압축파일을 받고 바로 푸는 모듈을 만들고 있는데 cp949임을 알고 대처하는 거야 해보겠는데(정해져 있으니)
출처가 불분명할때 어떤 인코딩인지 확인은 어떻게들 하시나요? 유닉스에서 압축했을지, 러시아윈도우에서 압축했을지.. 등등?



memi 님이 쓰신 글 :
: XE2부터 내장된 zip library를 잘 사용했었는데요
: 한글이 문제네요
: 아래와 같이 testz 폴더에 새 텍스트 문서.txt 하나 넣고 testz.zip으로 압축한걸 풀면 파일 안의 내용은 멀쩡한데 폴더,파일명 한글 부분이 깨집니다.
:
:
: #include 
: TZipFile *z = new TZipFile;
: #if 1
: z->ExtractZipFile("c:\\testz.zip", "c:\\");
: #else
: z->Open("c:\\testz.zip",zmRead);   
: String whx;
: for(int i = 0; i < z->FileCount; i++) {
:   Memo1->Lines->Add(z->FileName[i]); //깨져있는 파일명...
: 
:   wchar_t *wc = z->FileName[i].w_str();
:   whx="";
:   for(int j = 0; j < z->FileName[i].Length(); j++)
:     whx+= IntToHex(wc[j],4) + " ";
:   Memo1->Lines->Add(whx); //깨진 데이터는 어떤 인코딩이길래?
: }
: z->Close();
: #endif
: delete z;
: 

:
: 원하는 값 : testz\새 텍스트 문서.txt
: 깨져있는 값(깨져서 헥스로) : 0074 0065 0073 0074 007A 002F 2557 2321 0020 253C 256A 255C 2551 255E 00AB 0020 2563 00AB 255D 00A1 002E 0074 0078 0074
:
: 새 : 2557 2321 (무슨 네바이트나..)
: 텍 : 253C 256A
:
: 혹시 TZip class 사용해보신 분들 계신가요? 버그인지 혹시 다른 사용법이 있을까요?

+ -

관련 글 리스트
72080 TZip 사용 한글문제 memi 3755 2014/12/04
72106     Re:TZip 사용 한글문제 memi 3430 2014/12/09
72107         Re:Re:TZip 사용 한글문제 김도완 3677 2014/12/09
72096         Re:Re: 이 코드로 테스트 해보세요 빌더(TWx) 3912 2014/12/08
72089     Re:TZip 사용 한글문제 3465 2014/12/06
72092         Re:Re:TZip 사용 한글문제 memi 3678 2014/12/08
72105             Re:Re:Re:TZip 사용 한글문제 김도완 3634 2014/12/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.