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
- create other char and copy with length by using std::strncpy(ch1, ch2, len)
- 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].
精彩评论