我有来自 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/