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&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...