Я передаю сжатый результат NSData следующему методу:
Код: Выделить всё
#include "compression.h"
Код: Выделить всё
- (NSData *) getDecompressedData:(NSData *) compressed {
size_t dst_buffer_size = 20000000; //20MB
uint8_t *dst_buffer = malloc(dst_buffer_size);
uint8_t *src_buffer = malloc(compressed.length);
[compressed getBytes:src_buffer length:compressed.length];
size_t decompressedSize = compression_decode_buffer(dst_buffer, dst_buffer_size, src_buffer, compressed.length, nil, COMPRESSION_ZLIB);
NSData *decompressed = [[NSData alloc] initWithBytes:dst_buffer length:decompressedSize];
return decompressed;
}
Я пробовал методы сжатия/распаковки ZLIB и LZ4, а также несколько библиотек на стороне сервера, все с одним и тем же результатом.
Что я здесь делаю не так?
Подробнее здесь: https://stackoverflow.com/questions/373 ... turns-zero