小编Ter*_*rry的帖子

如何在Objective-C中将unichar值转换为NSString?

我有一个存储在unichar变量中的国际字符.此字符不是来自文件或网址.变量本身只存储一个无符号短(0xce91),它是UTF-8格式并转换为希腊大写字母'A'.我试图将该字符放入NSString变量但我失败了.

我尝试了两种不同的方法,其中两种都不成功:

unichar greekAlpha = 0xce91; //could have written greekAlpha = '?' instead.

NSString *theString = [NSString stringWithFormat:@"Greek Alpha: %C", greekAlpha];
Run Code Online (Sandbox Code Playgroud)

不好.我得到一些奇怪的汉字.作为旁注,这与英文字符完美配合.

然后我也尝试了这个:

NSString *byteString = [[NSString alloc] initWithBytes:&greekAlpha
                                                length:sizeof(unichar)
                                              encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.我显然做了一件非常糟糕的事,但我不知道是什么.有谁可以帮助我吗 ?谢谢!

unicode objective-c nsstring

31
推荐指数
2
解决办法
4万
查看次数

标签 统计

nsstring ×1

objective-c ×1

unicode ×1