Nsdata到Objective-C中的nsstring [英] Nsdata to nsstring in objective-C

查看:137
本文介绍了Nsdata到Objective-C中的nsstring的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我知道这是非常简单直接但我一直在尝试使用Obj-C将NSData转换为NSString,但输出并不是我真正想要的。



我的NSData变量:

Hi All,
I know this is suppose to be very straight forward and simple but i have been trying to convert NSData to NSString using Obj-C but the outputs are not what I really wanted.

my NSData variable:

NSData *blockData = [NSData dataWithBytes:&data length:sizeof(data)];



我正在尝试在 NSLog中打印如下所示:


I'm trying to print it in NSLog like below:

NSLog(@"sneding block: %@", blockData);



输出就像:


the output is like:

018-06-13 08:05:18.641965-0400 sendData[3016:1171273] sneding: <0000e992 ffff0300 00884242 4242ffff ffff>



我需要输出为字符串或数字而不是十六进制,我在java中通过将byte []数组转换为字符串来完成它:Arrays.toString(byte [] )输出类似于:[ - 24,14,60,103,-119,14,-118,12,-117,13,18,84,81,-118,10,-117,11,-22]



任何想法?

提前致谢



我尝试过:



我试图使用 NSUTF8StringEncoding


I need the output to be in string or numbers not hex, i have done it in java by converting byte[] array to string: Arrays.toString(byte[]) the output something like: [-24,14,60,103,-119,14,-118,12,-117,13,18,84,81,-118,10,-117,11,-22]

any ideas?
Thanks in advance

What I have tried:

I tried to use NSUTF8StringEncoding

NSString *str = [[NSString alloc] initWithData:blockData encoding:NSUTF8StringEncoding];//returns null



也试过 NSASCIIStringEncoding 没有运气


also tried NSASCIIStringEncoding with no luck

[[NSString alloc] initWithData:blockData encoding:NSASCIIStringEncoding];//returns ascii codes

推荐答案

你可以这样做:



You can do it like this:

NSMutableString * str = [NSMutableString string];
for (int i = 0; i<sizeof(data); i++)
{
    [str appendFormat:@"%d ", data[i]];
}

NSLog(@"%@",str);


这篇关于Nsdata到Objective-C中的nsstring的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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