Подтвердить что ты не робот

Преобразование беззнакового массива char в NSData и обратно

Как преобразовать массив без знака char в NSData в объекте c?

Это то, что я пытаюсь сделать, но это не работает. Буфер - это мой беззнаковый массив char.

NSData *data = [NSData dataWithBytes:message length:length];
4b9b3361

Ответ 1

Вы можете просто использовать этот метод класса NSData​​p >

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

Что-то вроде

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

Затем вы можете вернуть массив таким образом (если вы знаете, что это правильный тип данных)

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