数据:
<< 5b005c00 5d005e00 5f006000 61006200 63006400>
输出:6029403
上面的数据长度为20bytes,它应该返回0-100范围内的值,
我使用的代码:
ppData = [ppData subdataWithRange:NSMakeRange(0, 20)];
int value = *(int*)([ppData bytes]);
NSLog(@"int rec %d",value);
int
,请将代码更改为:int value = *(int16_t *)ppData.bytes;
[Objective-C]语言本身负责将RHS的int16_t
值转换为存储到int
中所需的value
(在MacOS / iOS上为32位)值。HTH
[*]当平台和数据的字节序不同时,您需要调用通常提供的适当的字节交换函数。