开发者

Convert const char* string to NSString with length AND encoding

I wonder which method would be better to convert const char* string to NSString.

I found there are some facts.

  • [NSString stringWithCString:length:] is kind of deprecated.
  • [NSString stringWithCString:encoding] may be used for my purpose

But I want to convert with 开发者_Python百科length AND encoding(because I want to make that fine if I have some Non-ASCII character by setting encoding to UTF-8). Any thoughts?

I just think now

  1. create other char and copy with length by using std::strncpy(ch1, ch2, len)
  2. use [NSString stringWithCString:encoding:]

But it doesn't work well.


If your const char* variable is named foo (and it points to a null-terminated string), just say

[NSString stringWithUTF8String:foo]

Because UTF-8 is a superset of ASCII, this will work whether foo points to UTF-8 or ASCII. Then you can move up to full Unicode with no problems.


Use:

[NSString initWithBytes:length:encoding].
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜