NSData / NSMutableData
1.计算机中文件分为哪几种?
文本文件和二进制文件,其中我们的图片、歌曲、电影等就是二进制文件,像'.txt'的文件就是文本文件。
2.客户端与服务器端,或者客户端与客户端数据交流的格式为二进制(字节流)。那么对于传输给客户端的数据,在我们OC中用什么类来存储呢?即为’NSData’类。在’NSData’类中,由其实例化的对象,此对象中包含大量的字节,这些字节就是我们客户端想要的信息。
//创建一个空的data
NSData *data0 = [NSData data];
//将字符串转换成NSData
//将字符串转换成C语言中字符
const char *str = [string UTF8String];
NSData *data = [NSData dataWithBytes:str length:strlen(str)];
NSLog(@"data = %@",data);
//直接将OC中字符串转换成data
NSData *data2 = [string dataUsingEncoding:4];
NSLog(@"data2 = %@",data2);
//将本地文件中的数据转换成data
NSData *data3 = [NSData dataWithContentsOfFile:@"/Users/ibokan/Desktop/1.png"];
// NSLog(@"data3 = %@",data3);
NSData *data4 = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://s1.hao123img.com/res/images/search_logo/web.png"]];
NSLog(@"data4 = %@",data4);
// BOOL flag = [data4 writeToFile:@"/Users/ibokan/Desktop/2.png" atomically:YES];
// if (flag)
// {
// NSLog(@"下载成功");
// }
//求data的字节长度
NSUInteger length = data4.length ;
NSLog(@"%lu",length);
5.对于’NSMutableData’,其为’NSData’的子类
//NSMutableData
//创建一个空的可变的data
NSMutableData *mdata = [NSMutableData data];
//增加data
[mdata appendData:data4];