2009-12-07 10 views
9

मेरे पास मेरे ऐप (अंग्रेजी, स्पेनिश, इतालवी) में स्थानीयकरण है। क्लाइंट ने मुझे स्ट्रिंग फाइलें भेजीं लेकिन कुछ पात्र अजीब हैं कि मैं उन्हें कैसे सही करूं? मैंने यह पता लगाया है कि क्लाइंट ने मैक ओएस रोमन एन्कोडिंग का उपयोग किया है, मैं इसे यूटीएफ -8 में कैसे परिवर्तित करूं। उदाहरण के लिए नूरनबर्ग को क्लाइंट भेजते समय N√ºrnberg में परिवर्तित कर दिया गया है, अब मैं इसे वापस भेजना चाहता हूं।आईएसडी एसडीके में एनएसएसटींग से यूटीएफ -8 प्रारूप स्ट्रिंग को कैसे परिवर्तित करें?

उत्तर

12

आप एक गुण तार के सभी के साथ फ़ाइल है ... आप में उन्हें लोड और (NSString's Documentation से) इनमें से कुछ भी उन्हें पढ़ सकते हैं:

– initWithBytes:length:encoding: 
– initWithBytesNoCopy:length:encoding:freeWhenDone: 
– initWithCString:encoding: 
– initWithUTF8String: 

यहाँ हर संभव एन्कोडिंग

की सूची है
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

सरल विधि

[yourNSStringObject UTF8String]; 
संबंधित मुद्दे