Objective-C: Come leggere i dati dalla classe BitConverter di .NET
-
24-10-2019 - |
Domanda
In un'applicazione Web .NET la classe BitConverter viene utilizzato per convertire Int32 di in un array di byte in questo modo:
byte[] intBuffer = BitConverter.GetBytes(12345);
Ora sto cercando di leggere questo nuovo in un'applicazione per iPhone. Ho i byte in un NSData con una lunghezza di 4, ma non sono sicuro di come continuare perché io non riesco a capire come visualizzare il contenuto del NSData nella console debugger.
NSData *intBuffer = [NSData dataWithBytes:[buffer bytes] length:4];
Come posso convertire questi 4 byte per un obiettivo-c int?
Modifica
Qui c'è qualcosa mi è venuta, che può o non può essere sulla strada giusta. Non sono sicuro di come ottenere un singolo valore di byte per indice in un NSData.
- (int) extractSize:(NSData *)data {
NSMutableString *size = [NSMutableString stringWithCapacity:0];
for (int i = [data length] - 1; i <= 0; i--) {
//[size appendFormat:@"%x", data[i]];
}
return strtol([size UTF8String], nil, 16);
}
Soluzione
int i;
[intBuffer getBytes:&i range:NSMakeRange(0, 4)];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow