web-dev-qa-db-fra.com

Convertir un tableau de caractères non signé en NSData et inversement

Comment convertir un tableau de caractères non signé en un NSData dans l'objectif c?

C'est ce que j'essaie de faire, mais cela ne fonctionne pas. Le tampon est mon tableau de caractères non signé.

NSData *data = [NSData dataWithBytes:message length:length];
31
Bewn

Vous pouvez simplement utiliser cette méthode de classe NSData

+ (id)dataWithBytes:(const void *)bytes length:(NSUInteger)length

Quelque chose comme

NSUInteger size = // some size
unsigned char array[size];
NSData* data = [NSData dataWithBytes:(const void *)array length:sizeof(unsigned char)*size];

Vous pouvez ensuite récupérer le tableau comme ceci (si vous savez que c'est le bon type de données)

NSUInteger size = [data length] / sizeof(unsigned char);
unsigned char* array = (unsigned char*) [data bytes];
65
jbat100