来自char数组的umlaute的NSString

时间:2012-06-22 11:40:49

标签: ios5 encoding character-encoding nsstring

我有这个数组:

const char array[3] = {173,67,0};

我希望得到一个看起来像“°C”的NSString(ISO Latin1)。 我尝试了一些编码,但是没有得到它......


感谢。我试过你的代码:

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

NSLog(@"%@");

不幸的是,这导致输出

°C

同样,如果我使用

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

我可以在xcode中进行任何设置吗?

1 个答案:

答案 0 :(得分:0)

你说你想要一个变形金刚,但在你的例子中,你画了一个度数标志。在ISO Latin-1中,变音符号是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";