서버 등에서 받은 NSData가 NSUTF8StringEncoding나 NSASCIIStringEncoding 인코딩으로 NSString을 생성해도 한글이 제대로 보이지 않을 때는 0×80000840 으로 인코딩 하면 된다.
1 |
NSString* aString = [[[NSString alloc] initWithData:receivedData encoding:0x80000422] autorelease]; |
아래 표가 NSString.h에서 정의하고 있는 encoding인데
02 |
NSASCIIStringEncoding = 1, |
03 |
NSNEXTSTEPStringEncoding = 2, |
04 |
NSJapaneseEUCStringEncoding = 3, |
05 |
NSUTF8StringEncoding = 4, |
06 |
NSISOLatin1StringEncoding = 5, |
07 |
NSSymbolStringEncoding = 6, |
08 |
NSNonLossyASCIIStringEncoding = 7, |
09 |
NSShiftJISStringEncoding = 8, |
10 |
NSISOLatin2StringEncoding = 9, |
11 |
NSUnicodeStringEncoding = 10, |
12 |
NSWindowsCP1251StringEncoding = 11, |
13 |
NSWindowsCP1252StringEncoding = 12, |
14 |
NSWindowsCP1253StringEncoding = 13, |
15 |
NSWindowsCP1254StringEncoding = 14, |
16 |
NSWindowsCP1250StringEncoding = 15, |
17 |
NSISO2022JPStringEncoding = 21, |
18 |
NSMacOSRomanStringEncoding = 30, |
20 |
NSUTF16StringEncoding = NSUnicodeStringEncoding, |
22 |
#if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED || __IPHONE_2_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED |
23 |
NSUTF16BigEndianStringEncoding = 0x90000100, |
24 |
NSUTF16LittleEndianStringEncoding = 0x94000100, |
26 |
NSUTF32StringEncoding = 0x8c000100, |
27 |
NSUTF32BigEndianStringEncoding = 0x98000100, |
28 |
NSUTF32LittleEndianStringEncoding = 0x9c000100 |
한글은 아래 표에 나와있다.
* NSString *
Western (Mac OS Roman) |
0x1e |
|
|
Japanese (Mac OS) |
0×80000001 |
|
|
Traditional Chinese (Mac OS) |
0×80000002 |
|
|
Korean (Mac OS) |
0×80000003 |
|
|
Arabic (Mac OS) |
0×80000004 |
|
|
Hebrew (Mac OS) |
0×80000005 |
|
|
Greek (Mac OS) |
0×80000006 |
|
|
Cyrillic (Mac OS) |
0×80000007 |
|
|
Devanagari (Mac OS) |
0×80000009 |
|
|
Gurmukhi (Mac OS) |
0x8000000a |
|
|
Gujarati (Mac OS) |
0x8000000b |
|
|
Thai (Mac OS) |
0×80000015 |
|
|
Simplified Chinese (Mac OS) |
0×80000019 |
|
|
Tibetan (Mac OS) |
0x8000001a |
|
|
Central European (Mac OS) |
0x8000001d |
|
|
Symbol (Mac OS) |
0×6 |
|
|
Dingbats (Mac OS) |
0×80000022 |
|
|
Turkish (Mac OS) |
0×80000023 |
|
|
Croatian (Mac OS) |
0×80000024 |
|
|
Icelandic (Mac OS) |
0×80000025 |
|
|
Romanian (Mac OS) |
0×80000026 |
|
|
Keyboard Symbols (Mac OS) |
0×80000029 |
|
|
Farsi (Mac OS) |
0x8000008c |
|
|
Cyrillic (Mac OS Ukrainian) |
0×80000098 |
|
|
Western (Mac VT100) |
0x800000fc |
|
|
Unicode™ (UTF-16) |
0xa |
|
|
Unicode™ (UTF-8) |
0×4 |
|
|
Western (ISO Latin 1) |
0×5 |
|
|
Central European (ISO Latin 2) |
0×9 |
|
|
Western (ISO Latin 3) |
0×80000203 |
|
|
Central European (ISO Latin 4) |
0×80000204 |
|
|
Cyrillic (ISO 8859-5) |
0×80000205 |
|
|
Arabic (ISO 8859-6) |
0×80000206 |
|
|
Greek (ISO 8859-7) |
0×80000207 |
|
|
Hebrew (ISO 8859-8) |
0×80000208 |
|
|
Turkish (ISO Latin 5) |
0×80000209 |
|
|
Nordic (ISO Latin 6) |
0x8000020a |
|
|
Thai (ISO 8859-11) |
0x8000020b |
|
|
Baltic Rim (ISO Latin 7) |
0x8000020d |
|
|
Celtic (ISO Latin  |
0x8000020e |
|
|
Western (ISO Latin 9) |
0x8000020f |
|
|
Latin-US (DOS) |
0×80000400 |
|
|
Greek (DOS) |
0×80000405 |
|
|
Baltic Rim (DOS) |
0×80000406 |
|
|
Western (DOS Latin 1) |
0×80000410 |
|
|
Central European (DOS Latin 2) |
0×80000412 |
|
|
Turkish (DOS) |
0×80000414 |
|
|
Icelandic (DOS) |
0×80000416 |
|
|
Arabic (DOS) |
0×80000419 |
|
|
Cyrillic (DOS) |
0x8000041b |
|
|
Thai (Windows, DOS) |
0x8000041d |
|
|
Japanese (Windows, DOS) |
0×8 |
|
|
Simplified Chinese (Windows, DOS) |
0×80000421 |
|
|
Korean (Windows, DOS) |
0×80000422 |
|
|
Traditional Chinese (Windows, DOS) |
0×80000423 |
|
|
Western (Windows Latin 1) |
0xc |
|
|
Central European (Windows Latin 2) |
0xf |
|
|
Cyrillic (Windows) |
0xb |
|
|
Greek (Windows) |
0xd |
|
|
Turkish (Windows Latin 5) |
0xe |
|
|
Hebrew (Windows) |
0×80000505 |
|
|
Arabic (Windows) |
0×80000506 |
|
|
Baltic Rim (Windows) |
0×80000507 |
|
|
Vietnamese (Windows) |
0×80000508 |
|
|
Western (ASCII) |
0×1 |
|
|
Japanese (Shift JIS X0213) |
0×80000628 |
|
|
Chinese (GBK) |
0×80000631 |
|
|
Chinese (GB 18030) |
0×80000632 |
|
|
Japanese (ISO 2022-JP) |
0×15 |
|
|
Korean (ISO 2022-KR) |
0×80000840 |
|
|
Japanese (EUC) |
0×3 |
|
|
Simplified Chinese (EUC) |
0×80000930 |
|
|
Traditional Chinese (EUC) |
0×80000931 |
|
|
Korean (EUC) |
0×80000940 |
|
|
Japanese (Shift JIS) |
0x80000a01 |
|
|
Cyrillic (KOI8-R) |
0x80000a02 |
|
|
Traditional Chinese (Big 5) |
0x80000a03 |
|
|
Western (Mac Mail) |
0x80000a04 |
|
|
Traditional Chinese (Big 5 HKSCS) |
0x80000a06 |
|
|
Western (NextStep) |
0×2 |
|
|
Non-lossy ASCII |
0×7 |
|
|
Western (EBCDIC US) |
0x80000c02 |
|
|
Ref: NSString의 인코딩
출처 : http://alones.kr/1959?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+alones/lCfe+(Alones+world)
