Uygulamamda yerelleştirmem var (ingilizce, ispanyolca, italyanca). İstemci bana dosyalar yolladı ama bazı karakterler garip bir şekilde onları nasıl düzeltebilirim? İstemcinin Mac OS Roman kodlamasını kullandığını anladım ve bunu utf-8'e nasıl dönüştürüyorum. örneğin Nürnberg , istemci bana gönderdiğinde şimdi onu dönüştürmek istediğimde N√ºrnberg'e dönüştürülür. Bir özellikleri dizeleri tüm dosya varsaNSString, iphone sdk'deki UTF-8 biçimindeki dizeye nasıl dönüştürülür?
9
A
cevap
12
... Eğer bunları yükleyebilirsiniz ve (NSString's Documentation itibaren) Bunlardan herhangi onları okuyun: Burada
– initWithBytes:length:encoding:
– initWithBytesNoCopy:length:encoding:freeWhenDone:
– initWithCString:encoding:
– initWithUTF8String:
tüm olası kodlamaların
listesi var
enum {
NSASCIIStringEncoding = 1,
NSNEXTSTEPStringEncoding = 2,
NSJapaneseEUCStringEncoding = 3,
NSUTF8StringEncoding = 4, <----- UTF8!
NSISOLatin1StringEncoding = 5,
NSSymbolStringEncoding = 6,
NSNonLossyASCIIStringEncoding = 7,
NSShiftJISStringEncoding = 8,
NSISOLatin2StringEncoding = 9,
NSUnicodeStringEncoding = 10,
NSWindowsCP1251StringEncoding = 11,
NSWindowsCP1252StringEncoding = 12,
NSWindowsCP1253StringEncoding = 13,
NSWindowsCP1254StringEncoding = 14,
NSWindowsCP1250StringEncoding = 15,
NSISO2022JPStringEncoding = 21,
NSMacOSRomanStringEncoding = 30,
NSUTF16StringEncoding = NSUnicodeStringEncoding,
NSUTF16BigEndianStringEncoding = 0x90000100,
NSUTF16LittleEndianStringEncoding = 0x94000100,
NSUTF32StringEncoding = 0x8c000100,
NSUTF32BigEndianStringEncoding = 0x98000100,
NSUTF32LittleEndianStringEncoding = 0x9c000100,
NSProprietaryStringEncoding = 65536
};
19
basit bir yöntem
[yourNSStringObject UTF8String];