文字转换NSData到NSString

我是新来的iOS编程,我想获得作为一个NSString的NSData对象的文本表示

例如,如果NSData对象是:

<07010013 01020000 09000100 000199c2> 

我想将其转换为:

 "070100130102000009000100000199c2" 

我怎样才能做到这一点?

提示#1 // 一般答案

NSString为此提供了一个初始化器。 您可以在这里使用文档查看更多信息。

 NSString * str = [[NSString alloc] initWithData: mynsdata encoding:NSUTF8StringEncoding]; 

假设你使用ARC。

提示#2 // hexnsdata的答案

 int len = [mynsdata length]; NSMutableString *str = [NSMutableString stringWithCapacity:len*2]; const unsigned char *nsdata_bytes = [mynsdata bytes]; for (int i = 0; i < len; ++i) { [str appendFormat:@"%02x", nsdata_bytes[i]]; }