我正在開發一個iOS應用程序,我遇到了日文編碼問題。在iOS應用程序開發中,我需要顯示一些日文字符,它是2個字節,但我找不到正確的編碼使用
日語字符流從遠程服務器發送到應用程序,每個字符有兩個字節(包括平假名,片假名和漢字)。
下面的代碼:
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能」不能正確顯示。它們會變成亂碼,空間或其他語言,如韓文或泰文字符,但它們永遠不會以日文顯示。
我已經嘗試的編碼是(多,我試圖大量編碼的):
- NSASCIIStringEncoding 7ビットASCIIエンコード
- NSNEXTSTEPStringEncoding NeXTSTEP的拡張8ビットASCIIエンコード
- NSJapaneseEUCStringEncoding日本語EUC
- NSUTF8StringEncoding 8使用Unicode(UTF8)日期代碼
- NSISOLatin1StringEncoding ISOラテン1エンコー
- NSISOLatin2StringEncoding ISOラテン2エンコード
- NSSymbolStringEncodingシンボルエンコード
- NSNonLossyASCIIStringEncoding損失無し7ビットASCIIエンコード
- NSShiftJISStringEncodingシフトJIS
- NSUnicodeStringEncoding的Unicodeエンコード
- NSWindowsCP1251StringEncodingアドビスタンダード西里爾
- NSWindowsCP1252StringEncoding贏ラテン1
- NSWindowsCP1253StringEncoding希臘
- NSWindowsCP1254StringEncoding土耳其
- NSWindowsCP1250StringEncoding贏ラテン1
- NSISO2022JPStringEncodingISO2022日本語エンコード(電子メールなど)
- NSMacOSRomanStringEncoding的MacRoman
- NSProprietaryStringEncoding
我真的需要幫助的這個,我在網上搜索了幾天但沒有l烏克...請幫助...
您需要找出另一端的編碼名稱。有很多可能性。 – bmargulies 2011-03-07 01:35:34
這也是另一個問題....我不知道他們在服務器端使用什麼編碼......只知道它有2個字符..它可能是一臺Linux機器......任何可能性?非常感謝 – chingju 2011-03-07 01:40:29