ich entwickeln werde in ios Objective-c BLE, erhalte ich die BLE Daten und Druck von NSLog
wie folgt aus:Warum ist die Größe von uint8_t 8 Byte nach Konvertierung von 20Byte NSData in Objective-C?
NSData *initialData = [characteristic value];
NSData *startOfFrameData = [initialData subdataWithRange:NSMakeRange(0, 20)];
NSLog(@"StartOfFrameData: %@", startOfFrameData);
Die Daten im Protokoll ist wie folgt aus:
StartOfFrameData: <04621281 00931012 fed0d499 e92ceaac 3286513e>
Aber es hat nur 8 Byte, nachdem ich es auf die uint8_t
über den folgenden Code konvertieren:
uint8_t *tempData1=(uint8_t *)[startOfFrameData bytes];
NSLog(@"before tempData1:%lu", sizeof(tempData1));
for(int i = 0;i<sizeof(tempData1);i++){
NSLog(@"tempData1[%d] = %x , %d",i,tempData1[i],tempData1[i]);
}
Die Log-Show wie folgt aus:
tempData1:8
tempData1[0] = f4 , 244
tempData1[1] = 9b , 155
tempData1[2] = b2 , 178
tempData1[3] = 81 , 129
tempData1[4] = 0 , 0
tempData1[5] = 6 , 6
tempData1[6] = 5 , 5
tempData1[7] = 71 , 113
Warum es nur 8 Byte zu uint_8
nach verdeckte hat?
Habe ich etwas übersehen? Danke im Voraus.