도와주신 모든 분들 정말 감사드립니다.
덕분에 문자체계에 대해 많이 공부했습니다. 위키, 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 사용해보신 분들 계신가요? 버그인지 혹시 다른 사용법이 있을까요?
|