Objective-C将NSData转换为NSString

这里是我试图将NSData转换为NSString的代码,但程序返回“程序接收信号:SIGABRT”。

NSString *string= [NSString stringWithUTF8String:[data bytes]]; 

要么

 NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

还有其他更好的办法吗?

这是一个高度投票的答案 ,显示如何做到这一点。 简而言之:

 NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

第一个想法看起来像是因为发送[data bytes]失败。 stringWithUTF8String没有为void *准备。 第二个想法看起来好像它应该工作,即使没有input。

使用这个代码

 NSString* myString; myString = [[NSString alloc] initWithData:nsdata encoding:NSASCIIStringEncoding]; 

也看到这个教程..

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html

🙂

斯威夫特-3

在这里输入图像说明

让string = data.base64EncodedString()