Objective-C将NSData转换为NSString

use*_*447 5 iphone objective-c nsstring nsdata ios

以下是我尝试将NSData转换为NSString但代码返回"Program received signal:SIGABRT"的代码.

NSString *string= [NSString stringWithUTF8String:[data bytes]];
Run Code Online (Sandbox Code Playgroud)

要么

NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

还有其他更好的方法吗?

dan*_*anh 7

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

NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

由于发送,第一个想法看起来像失败[data bytes].stringWithUTF8String没有为void*做好准备.第二个想法看起来好像应该工作,即使是零输入.