我们的自定义智能路由器给我NSData响应


  


在这里,800c是我的deviceId。如何将其转换为int


  deviceId = 32780;


当我向路由器发送命令时,我将其构建为

Byte mqttData[12];

mqttData[0] =[[NSNumber numberWithUnsignedChar:(deviceID >> 8) & 0xFF] intValue];
//mqttData[0]=128 or 80 in Hex

mqttData[1] =[[NSNumber numberWithUnsignedChar:deviceID & 0xFF] intValue];
//mqttData[1]=12 or 'C' in Hex

return [NSData dataWithBytes:mqttData length:sizeof(mqttData)];

最佳答案

int deviceId = CFSwapInt16BigToHost(*(int*)([deviceIDData bytes]))


答案来自Larme的评论。

07-27 14:05