我们的自定义智能路由器给我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的评论。