objective-c – 如何将NSString转换为iPhone sdk中的UTF-8格式字符串?

前端之家收集整理的这篇文章主要介绍了objective-c – 如何将NSString转换为iPhone sdk中的UTF-8格式字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的应用程序(英语,西班牙语,意大利语)中有本地化.客户端发送了我的字符串文件,但是一些字符是奇怪的,我如何纠正它们?我已经弄清楚,客户端使用Mac OS Roman编码如何将其转换为utf-8.
例如纽伦堡
当客户发送给我时,我想重新转换它,被转换成N√ºrnberg.

解决方法

如果你有一个包含所有字符串的属性文件,你可以加载它们并使用以下任何一个读取它们(从 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
};

猜你在找的C&C++相关文章