Я занимаюсь разработкой приложения для iOS и столкнулся с проблемой кодировки на японском языке.
Поток символов японского языка отправляется в приложение с удаленного сервера, и каждый символ имеет два байта (включая хирагану, катакана), и кандзи).
Вот код:
uint8_t bytes[2];
bytes[0] = firstByte; // First byte of the Japanese character
bytes[1] = secondByte; // second byte,
NSMutableData* data = [[NSMutableData alloc] init];
[data appendBytes:bytes length:2];
UInt32 encoding = CFStringConvertEncodingToNSStringEncoding(someJapaneseEncoding); // need to find a correct encoding to use
NSString* str = [[NSString alloc] initWithData:data encoding:encoding];
Затем код выведет * str на экран и будет рисовать на телефоне, но проблема в том, что, неважнокакую кодировку я использую, str не может отображаться правильно.они становятся тарабарщиной, или пробелом, или каким-либо другим языком, таким как корейские или тайские символы, но они никогда не отображаются на японском языке.
Кодировка, которую я пробовал, (и более того, я пробовал множество кодировок):
- NSASCIIStringEncoding 7 ビ ッ ト ASCII エ ン ー 101
- NSNEXTSTEPString ー ring II II cSC NeXT
- NSJapaneseEUCStringEncoding 日本語 EUC
- NSUTF8StringEncoding 8 ビ ッ ト Юникода (UTF-8) エ ン コ ー ド
- NSISOLatin1StringEncoding ИСО ラ テ ン 1 エ ン コ ー ド * тысяча двадцать-один * * одна тысяча двадцать-два * NSISOLatin2StringEncoding ISO ラ テ ン 2 エ ン コ ー ド
- NSSymbolStringEncoding シ ン ボ ル エ ン コ ー ド
- NSNonLossyASCIIStringEncoding 損失 無 し 7 ビ ッ ト ASCII-エ ン コ ー ド * тысяча двадцать-семь *
- NSShiftJISStringEncoding シ フ ト JIS
- NSUnicodeStringEncoding Юникода エ ン コ ー ド
- NSWindowsCP1251StringEncoding ア ド ビ ス タ ン ダ ー ド кириллицы
- NSWindowsCP1252StringEncoding Win ラ テ ン 1
- NSWindowsCP1253StringEncoding Greek
- NSWindowsCP1254StringEncoding Turkish
- NSWindowsCP1250StringEncoding Win ラ テ ン 1
- NSISO2022JPStringEncoding ISO2022日本語エンコード (電子 メ ー ル な ど)
- NSMacOSRomanStringEncoding MacRoman
- * * *1046* * * * * * * * * * * * * *Я искал онлайн несколько дней, но не повезло ... пожалуйста, помогите ...