NSData / NSMutableData
/*
1.计算机中文件分为哪几种?
二进制文件和文本文件,其中我们的图片,歌曲,电影等就是二进制文件,想‘.txt’的文件就是文本文件,
2.客户端与服务器端,或者客户端与客户端数据交流的格式为二进制(字节流),那么对于传输给客户端的数据,在我们OC中用什么类来存储呢?既为‘NSData’类。在‘NSData’类中,由其实例化的对象,此对象中包含大量的字节,这些字节就是我们客户端想要的信息。
*/
//创建一个空的data
NSData *data1 = [NSData data];
//将字符串转换成NSData
//c语言中字符
//使用const关键字来将一个变量变成常量。const修饰的常量称为符号常量(有的地方也称为命名常量),它修饰的值一旦被设定以后,后期再无法更改。
const char *str = "hello";
NSData *data2 = [NSData dataWithBytes:str length:strlen(str)];
NSLog(@"%@",data2);
//作业 char *name = "Rack";
// char name1[]= "Rack";
//直接将OC中字符串转成data
NSString *string = @"你好么";
NSData *data3 = [string dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@",data3);
//将本地文件中的数据转换成data
NSData *data4 = [NSData dataWithContentsOfFile:@"/Users/ibokan/Desktop/OC-07_01/OC-07_01/屏幕快照 2015-12-17 上午10.35.52.png"];
// NSLog(@"%@",data4);
//将网路读取数据转换成data
NSData *data5 = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.huabian.com/uploadfile/2015/1124/20151124033032915.jpg"]];
// NSLog(@"%@",data5);
//将我们的数据写入指定文件
// BOOL flag = [data5 writeToFile:@"/Users/ibokan/Desktop/2.png" atomically:YES];
// if (flag) {
// NSLog(@"success");
// }
//求Data的字节长度
NSUInteger length = data5.length;
NSLog(@"%lu",length);
//创建一个空的data NSMutableData
NSMutableData *mData = [NSMutableData data];
//增加data
[mData appendData:data4];
NSLog(@"%@",mData);
BOOL flay1 = [data5 writeToFile:@"/Users/ibokan/Desktop/2.html" atomically:YES];
if (flay1) {
NSLog(@"已好");
}