2015-01-09 6 views
0

현재 iOS 앱에서 NSData을 구문 분석하려고합니다. 문제는 구문 분석을위한 적절한 히브리어 인코딩을 찾지 못하는 것입니다. Windows-1255 인코딩 (Windows 용 히브리어 인코딩 유형) 또는 ISO 8859-8 인코딩을 사용하여 데이터를 디코딩해야합니다. 그렇지 않으면 나는 횡설수설하게 될 것입니다. 나는이 문제를 해결하는 데있어 가장 가까운 NSData 인코딩

CFStringConvertEncodingToNSStringEncoding(CFStringEncodings.ISOLatinHebrew) 

을 사용했는데 아직이 'CFStringEncodings' is not convertible to 'CFStringEncoding' (통지 인코딩 인코딩 대)를 던졌습니다.

데이터를 올바르게 인코딩하려면 어떻게해야합니까?

감사합니다.

답변

0

나는 손을 약간 더럽힐 필요가있다. CFStringEncodings은 파일 CFStringEncodingsExt.h과 관계가 있으므로 파일을 검색하여 도움을 얻었습니다. 갑자기 나는 정확히 CF_ENUM을 발견했는데, 정확히 내가 필요로하는 것 - 모두 CFStringEncodings에 의해 UInt32 값으로 포함되었다!

그래서 내가 그 파일에 가서 자신의 필요에 인코딩 검색이 인코딩 문제에 직면하고 모든 사람을 격려 kCFStringEncodingISOLatinHebrew = 0x0208, /* ISO 8859-8 */

것으로 밝혀졌다.

3

문제는 CFStringEncodingsCFIndex 에 기초하여 열거 있다는 CFStringEncodingUInt32하는 타입 별명 인 반면, (다시 Int하는 타입 별명이다). 따라서 .ISOLatinHebrew 값을 명시 적으로 CFStringEncoding으로 변환해야합니다.

let cfEnc = CFStringEncodings.ISOLatinHebrew 
let enc = CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(cfEnc.rawValue))