如何将NSData转换为NSString?

32

在Swift 3中,如何将NSData转换为NSString?https://dev59.com/IGnWa4cB1Zd3GeqP2qRc#40910967 - Shrawan
3个回答

50

NSString提供了一个用于此目的的初始化器。

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

10

你可以这样做

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

当数据以null结尾时,另一种使用方法是:

NSString *yourStr= [NSString stringWithUTF8String:[theData bytes]];

第二个选项更优雅且易于处理,谢谢。 - vishal dharankar
对我不起作用。当我使用你建议的(任何一个)方法时,数据有4704字节,但NSString显示为nil。请建议该怎么办@roronoa zorro - Vikas Bansal

6
NSString *convertedString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接