NSData 到 NSString 的字面转换 [英] Literal converstion NSData to NSString

查看:88
本文介绍了NSData 到 NSString 的字面转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am new to iOS programming and i am trying to get a textual representation of an NSData object as a NSString

例如如果 NSData 对象是:

For example if the NSData object is:

<07010013 01020000 09000100 000199c2>

我想将其转换为:

"070100130102000009000100000199c2"

我该怎么做?

推荐答案

HINT#1//一般答案

NSString 为此提供了一个初始值设定项.你可以看到 更多信息使用此处的文档.

NSString provides an initializer for this purpose. You can see 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]];
}

这篇关于NSData 到 NSString 的字面转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆