我是 iOS 编程新手,我正在尝试将 NSData 对象的文本表示形式作为 NSString
例如,如果 NSData 对象是:
<07010013 01020000 09000100 000199c2>
我想将其转换为:
"070100130102000009000100000199c2"
我怎样才能做到这一点?
HINT#1 //一般答案
NSString
为此目的提供了一个初始化程序。您可以使用此处的文档查看更多信息。
NSString * str = [[NSString alloc] initWithData: mynsdata
encoding:NSUTF8StringEncoding];
假设您使用 ARC。
HINT#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]];
}