Convierta Hex NSData a int en Objective C

Shuvo Joseph

Nuestro enrutador inteligente personalizado me está dando NSDatarespuesta

<800c01ff 0001ffff ffff29ff>

Aquí 800cestá mi deviceId. ¿Cómo convertirlo a int?

deviceId = 32780;

Cuando envío el comando al enrutador, lo construí como,

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)];
Shuvo Joseph
int deviceId = CFSwapInt16BigToHost(*(int*)([deviceIDData bytes]))

Respuesta tomada del comentario de Larme.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados