Question

Dans une application Web .NET la classe BitConverter est utilisé pour convertir en un Int32 de tableau d'octets comme ceci:

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

Maintenant, je suis en train de lire de nouveau dans une application iPhone. Je les octets dans un NSData avec une longueur de 4 mais je ne suis pas sûr de savoir comment continuer parce que je ne peux pas comprendre comment afficher le contenu du NSData dans la console de débogage.

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

Comment puis-je convertir ces 4 octets à un Objective-C int?

Modifier

Voici quelque chose que je suis venu avec ce qui peut ou peut ne pas être sur la bonne voie. Je ne sais pas comment obtenir une valeur unique octet par index dans 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);
}
Était-ce utile?

La solution

int i;
[intBuffer getBytes:&i range:NSMakeRange(0, 4)];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top