Nsdata到Objective-C中的nsstring [英] Nsdata to nsstring in objective-C
问题描述
大家好,
我知道这是非常简单直接但我一直在尝试使用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屋!