NSString *str = @"12345";
NSData *contentData = [str dataUsingEncoding:NSUTF8StringEncoding];
NSInteger len = contentData.length;
NSLog(@"内容长度%ld",(long)len);
NSData *headData = [NSData dataWithBytes:&len length:4];
NSInteger headContent = 0;
[headData getBytes:&headContent length:4];
NSLog(@"头部的内容%ld",headContent);
NSMutableData *mutableData = [[NSMutableData alloc]init];
[mutableData appendData:headData];
[mutableData appendData:contentData];
NSLog(@"合并后的长度 %lu",(unsigned long)mutableData.length);
//读取未封装的 char dataBuf[len];
[contentData getBytes:&dataBuf range:NSMakeRange(0, sizeof(dataBuf))];
NSData *bData = [NSData dataWithBytes:&dataBuf length:len];
NSString *aString = [[NSString alloc] initWithData:bData encoding:NSUTF8StringEncoding];
NSLog(@"%@",aString);
//读取头部4位
NSInteger dataHeadBuf = 0;
[headData getBytes:&dataHeadBuf range:NSMakeRange(0, 4)];
NSLog(@"%ld",(long)dataHeadBuf);
//读取封装的头思维
NSInteger fdataHeadBuf = 0;
[mutableData getBytes:&fdataHeadBuf range:NSMakeRange(0, 4)];
NSLog(@"%ld",(long)fdataHeadBuf);
//读取封装的内容
char fdataBuf[mutableData.length - 4];
[mutableData getBytes:&fdataBuf range:NSMakeRange(4, sizeof(fdataBuf))];
NSData *fbData = [NSData dataWithBytes:&fdataBuf length:len];
NSString *faString = [[NSString alloc] initWithData:fbData encoding:NSUTF8StringEncoding];
NSLog(@"%@",faString);