我想知道哪种方法更适合将const char *字符串转换为NSString。
我发现有一些事实。将const char *字符串转换为带有长度和编码的NSString
- [NSString stringWithCString:length:]是一种不推荐的。
- [NSString的stringWithCString:编码]可用于我的目的
但我想,长度和编码(转换,因为我想通过设置编码,以使这很好,如果我有一些非ASCII字符。 UTF-8)。有什么想法吗?
我只是觉得现在
- 创建其他char和使用的std :: strncpy()函数(CH1,CH2,LEN)
- 使用长度为复制[NSString的stringWithCString:编码:]
但它不能很好地工作。
这只适用于你的字符串是ASCII的,但。如果你的字符串是其他的东西(比如MacRoman或者ISO拉丁文),你最多可以为特定的字符显示错误的字形,最坏的情况是你会得到一个NIL字符串,因为你碰巧生成了一个无效的字节序列,没有映射到有效的UTF8字符(是的,这是可能的,UTF8编码的方式超过256个不同的字符,所以有多字节序列可以对字符进行编码,其中一些字符是无效的(尚未)) – uliwitness 2010-02-14 23:56:17
非常有用谢谢 – vgonisanz 2012-09-18 07:46:33