Ios5 NSString与char数组中的umlaute

Ios5 NSString与char数组中的umlaute,ios5,encoding,character-encoding,nsstring,Ios5,Encoding,Character Encoding,Nsstring,我有这个阵列: const char array[3] = {173,67,0}; 我想得到一个NSString,看起来像“C”(ISO拉丁语1)。 我试过一些编码,但不明白 谢谢。我尝试了你的代码: const char array[3] = {176, 67, 0}; NSString *degreeC = [NSString stringWithCString: array encoding:NSISOLatin1StringEncoding]; NSLog(@"%@"); 不幸的

我有这个阵列:

const char array[3] = {173,67,0};
我想得到一个NSString,看起来像“C”(ISO拉丁语1)。 我试过一些编码,但不明白


谢谢。我尝试了你的代码:

const char array[3] = {176, 67, 0};
NSString *degreeC = [NSString stringWithCString: array encoding:NSISOLatin1StringEncoding];

NSLog(@"%@");
不幸的是,这会导致

°C
同样,如果我使用

NSString *degree2 = @"°C"; 
NSLog(degree2);

我必须在xcode中进行任何设置吗?

你说你想要一个umlaut,但在你的例子中你画了一个学位标志。在ISO拉丁语-1中,umlaut是0xa8(十进制168),度符号是0xb0(十进制176)。如果您确实从C字符串开始,并且需要从中获取NSString:

const char array[3] = { 176, 67, 0 };
NSString *degreeC = [NSString stringWithCString:array encoding:NSISOLatin1StringEncoding];
或者,由于您可以在Xcode中的源代码中直接使用非ASCII字符(默认编码为UTF-8),因此您可以只使用NSString文本:

NSString *degreeC = @"°C";