我具有BLE设备的16位二进制补码特性。它的字节数包含9个整数:0-1、2-3、4-5 ....到16-17。
数据类型为NSData
,如下所示:
<faff0100 1b00ab00 daff9141 5603c0fd 06f2>
如何提取整数?
最佳答案
您的数据基本上是9个元素的整数数组。
如果使用Objective C,则可以通过bytes
方法进行访问。我想先检查是否具有正确的长度:
int16_t numberArray[9];
NSData* data = ...; // your NSData instance
memcpy(numberArray, [data bytes], 18);
NSLog(@"First number: %d", numberArray[0]); // bytes 0-1
NSLog(@"Second number: %d", numberArray[1]); // bytes 2-3
NSLog(@"Third number: %d", numberArray[2]); // bytes 4-5
...
NSLog(@"Ninth number: %d", numberArray[8]); // bytes 16-17
关于objective-c - 将NSData中的字节解码为整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27745107/