问题
Here are the code I tried to convert NSData to NSString but the program return "Program received signal:SIGABRT".
NSString *string= [NSString stringWithUTF8String:[data bytes]];
OR
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
Is there any other better way to do it?
回答1:
Here's a highly up-voted answer that shows how to do it. In a nutshell:
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
The first idea looks like a fail because of sending [data bytes]
. stringWithUTF8String isn't prepared for a void *. The second idea looks as if it should work, even with nil input.
回答2:
Use this code
NSString* myString;
myString = [[NSString alloc] initWithData:nsdata encoding:NSASCIIStringEncoding];
also see this tutorial..
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html
:)
回答3:
Swift-3
let string = data.base64EncodedString()
来源:https://stackoverflow.com/questions/12906598/objective-c-convert-nsdata-to-nsstring