数据的传输和获取,通常会涉及到数据的压缩和解压等操作
如果现在有这么个需求
1、从服务器下载的图片,根据图片的二进制数据流决定图片的格式,你会怎么办? (数据截取)
2、需要将用户每天24小时的生活状态传到服务器,然后可以按年/月/周/天取出并统计、展示等,你会怎么办?(字节数组)
对于上面的问题,我们就必须考虑数据结构,并实现压缩和解压等操作
下面给予一个简单的示例,希望有所启示1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 //打包
int tmpSize = 10;
Byte *tmpBuffer = malloc(sizeof(Byte)*tmpSize);
for (int i = 0;i<tmpSize;i++) {
tmpBuffer[i] = i;
}
NSData *data = [[NSData alloc] initWithBytes:tmpBuffer length:tmpSize];
//解包
NSInteger length = data.length;
Byte *parseBuffer = malloc(sizeof(Byte) * length);
[data getBytes:parseBuffer length:length];
// [data getBytes:parseBuffer range:NSMakeRange(0, length)];
Byte *p = parseBuffer;
Byte *q = parseBuffer+length;
while (p<q) {
int parseValue = *p;
NSLog(@"parse value is %d",parseValue);
++p;
}
free(tmpBuffer);
free(parseBuffer);