2014-07-08 2 views
1

올바른 ZIP은 code page 437으로 인코딩됩니다. 그러나이 코드 페이지는 iOS에서 지원하지 않습니다. 따라서 ä, ö 또는 ü과 같은 특수 문자가있는 파일과 폴더가 포함 된 ZIP 파일을 추출 할 수 없습니다.파일 이름에 움라우트가있는 ZIP 읽기

Objective-Zipzipzap은 파일 이름을 nil으로 변환하므로 파일을 읽을 수 없습니다. ZipKit은 적어도 움라우트를 물음표로 변환합니다. 파일에 액세스 할 수는 있지만 이상하게 보입니다. iOS에서 CP473으로 인코딩 된 원본 파일에 액세스하는 방법이 있습니까?

답변

0

zipzap을 사용하면 파일 이름 해석을 위해 비 UTF8 인코딩을 지정할 수 있습니다. 이전 API에서

ZZArchive* archive = [[ZZArchive alloc] 
    initWithURL:URL 
     options:@{ ZZOpenOptionsEncodingKey: 
       CFStringConvertEncodingToNSStringEncoding(
        kCFStringEncodingDOSLatinUS) } 
     error:nil]; 

:

ZZArchive* archive = [[ZZArchive alloc] 
    initWithContentsOfURL:URL 
       encoding:CFStringConvertEncodingToNSStringEncoding(
          kCFStringEncodingDOSLatinUS)]; 
8.0 API에

0

글쎄, 단지 코드 페이지 일뿐입니다. 각 바이트는 1 문자로 엄격하게 정의되므로 바이트 단위로 유니 코드로 변환하는 간단한 함수를 작성하는 것이 어렵지 않습니다. 모든 코드 포인트는 링크 된 위키피디아 페이지에 나열됩니다 (예 : 0x81 == \ u00FC).

관련 문제