如何将NSData转换为NSString

Nir*_*att 4 iphone nsstring nsdata ios

我知道之前已经问过这个问题了,我已经采用了几种方法,但是它们不起作用.

以下是我已经尝试过的:

NSString *newStr = [NSString stringWithUTF8String:[responseData bytes]];
NSString *newStr = [NSString stringWithFormat:@"%.*s", [responseData length], [responseData bytes]];
Run Code Online (Sandbox Code Playgroud)

它们都不起作用.在第一种情况下,它用null填充newStr.在第二,它填充垃圾字符.我从调试器日志(po responseData)知道我得到了有效的响应,就像bbbbbb 00 bbbbbb.[服务器将它们作为字节数组发送]

该怎么办?

编辑:我从http请求响应中接收此数据 - 使用ASIHTTPRequest库,以防任何人可以在该行上提供帮助.

vin*_*thp 12

试试这个,

NSData *responseData; [Initialize it]
NSString *receivedDataString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 
NSLog(@"%@",receivedDataString);
Run Code Online (Sandbox Code Playgroud)


Nir*_*att 3

我发布此内容是为了记录,因为我发现了重复内容并投票关闭此内容。

实际上我收到的是一个以十六进制表示的字节流,并且所有指示的答案都不起作用。只有 [NSData 描述] 给了我真实的数据,这是我无法使用的,因为它是用于调试的。

最后我尝试了这里给出的解决方案,并且得到了我想要的。感谢大家的努力提供帮助。