Frage

In einer .NET -Webanwendung wird die BitConverter -Klasse verwendet, um INT32 in ein Byte -Array wie SO umzuwandeln:

byte[] intBuffer = BitConverter.GetBytes(12345);

Jetzt versuche ich, dies in eine iPhone -App zurückzulesen. Ich habe die Bytes in einer NSData mit einer Länge von 4, aber ich bin mir nicht sicher, wie ich weitermachen soll, weil ich nicht herausfinden kann, wie ich den Inhalt der NSDATA in der Debugger -Konsole anzeigen kann.

NSData *intBuffer = [NSData dataWithBytes:[buffer bytes] length:4];

Wie kann ich diese 4 Bytes in ein Objective-C int konvertieren?

Bearbeiten:

Hier ist etwas, das ich mir ausgedacht habe, das auf dem richtigen Weg ist oder nicht. Ich bin mir nicht sicher, wie ich einen einzelnen Byte -Wert nach Index in einer NSData erhalten kann.

- (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);
}
War es hilfreich?

Lösung

int i;
[intBuffer getBytes:&i range:NSMakeRange(0, 4)];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top