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]会工作。

+0

如果你真的只需要前两个字节,不要memcpy整个事情,将'len'设置为2.然后释放mableced数据。或者只是使用@Jano的非复制版本。 – Thilo 2012-07-24 11:09:51