Наш индивидуальный Smart Router дает мне NSData
ответ
<800c01ff 0001ffff ffff29ff>
Вот 800c
мой идентификатор устройства. Как преобразовать в 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]))
Ответ взят из комментария Ларме.
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения