文字转换NSData到NSString

时间:2013-09-28 11:04:59

标签: ios nsstring nsdata

我是iOS编程的新手,我正在尝试将NSData对象的文本表示形式作为NSString

例如,如果NSData对象是:

<07010013 01020000 09000100 000199c2>

我想将其转换为:

"070100130102000009000100000199c2"

我该怎么做?

1 个答案:

答案 0 :(得分:0)

提示#1 // 一般答案

NSString为此提供了初始化程序。您可以看到more info using the docs here.

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

假设您使用ARC。

提示#2 // 十六进制nsdata的答案

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]];
}