iphone - 我如何获得NSData对象的第一个和第二个字节?
问题描述:
我有一个应该像字节数组一样工作的NSData对象。iphone - 我如何获得NSData对象的第一个和第二个字节?
我需要得到1st and 2nd bytes in the NSData
,但不知道如何。
如果我在Java中有一个字节数组,我可以很容易地通过barray[0] and barray[1]
得到那些,但是我怎样才能做到NSData?
感谢
答
NSData *data = [NSData dataWithBytes:"abc" length:3];
const unsigned char* bytes = [data bytes];
NSLog(@"%c %c",bytes[0],bytes[1]);
答
您可以使用此代码,
NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
现在byteData[0]
会工作。
如果你真的只需要前两个字节,不要memcpy整个事情,将'len'设置为2.然后释放mableced数据。或者只是使用@Jano的非复制版本。 – Thilo 2012-07-24 11:09:51