[ACCEPTED]-How do you convert cstring to NSString?-cocoa
First up, don't use initWithCString
, it has been deprecated.
Couple 10 of ways you can do this:
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithUTF8String:cString];
If you need another 9 encoding like ASCII:
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithCString:cString encoding:NSASCIIStringEncoding];
If you want to see all 8 the string encodings available, in Xcode, hold 7 command + option then double click on NSASCIIStringEncoding
in the above code block.
You will 6 be able to see where Apple have declared 5 their enumeration for the string encoding 4 types. Bit quicker than trying to find it 3 in the documentation.
Some other ones you 2 might need:
NSASCIIStringEncoding
NSUnicodeStringEncoding // same as NSUTF16StringEncoding
NSUTF32StringEncoding
Checkout Apple's NSString Class Reference (encodings 1 are at the bottom of the page)
With modern Objective-C (since Xcode 5 at 1 least) you can just do:
char const* cString = "Hello";
NSString *myNSString = @(cString);
stringWithCString:encoding:
creates an NSString from a given C string. To 3 create a C string from an NSString, use 2 either the UTF8String
method (generally preferred) or 1 cStringUsingEncoding:
(if you need an encoding other than UTF-8).
More Related questions
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.