我想知道哪种方法更好地将const char * string转换为NSString 我发现有一些事实。
但是我希望使用长度和编码进行转换(因为如果我通过将编码设置为UTF-8而有一些非ASCII字符,我想要那么好)。有什么想法吗?
我现在想想
但它效果不好。
答案 0 :(得分:38)
如果你的const char *变量名为foo
(并且它指向以null结尾的字符串),那么就说
[NSString stringWithUTF8String:foo]
因为UTF-8是ASCII的超集,所以无论foo
指向UTF-8还是ASCII,这都有效。然后你可以毫无问题地升级到完整的Unicode。
答案 1 :(得分:16)
使用:
[NSString initWithBytes:length:encoding].