#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
/*
NSData
NSMutableData
在计算机中文件分为哪几种?
1.二进制文件(图片,音频,歌曲,电影是二进制文件)
2.文本文件(‘.tex’的文件是文本文件)
2.客户端和服务器端,或者客户端与客户端数据交流的格式为二进制(字节流)。
那么对传输给客户端的数据,在我们OC中用什么类来存储呢?即为‘NSData’类中,由其实例化的对象,此对象
中包含的字节,这些字节就是我们客户端想要的信息。
*/
//创建一个空的Data
NSData *data=[NSData data];
//将字符串转换为NSData
//C语言中字符
//使用const关键字来将一个变量变为常量。const修饰的常量称为符号常量(有些地方也称为 命名常量),他所修饰的值一旦被设定以后,后期无法不修改。
const char *str="Hello";
NSData *data2=[NSData dataWithBytes:str length:strlen(str)];
NSLog(@"data2=%@",data2);//生成16进制输出 每8个空一格
char *name="Rick";
char name1[]="Rick";
//加了const不可以修改 那么不
//直接将OC支付穿转换成NSData
NSString *string =@"你好吗";
NSData *data3=[string dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"data3=%@",data3);
NSData *data4=[NSData dataWithContentsOfFile:@"/Users/ibokan/Desktop/自己/OC_07_01/OC_07_01/anglaybaby.jpg"];//将本地文件中的数据转成data
//Xcode把文件拖动@“这里”
//NSLog(@"data4=%@",data4);
//从网络读取数据转化成data
// NSData *data5=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.huabian.com/uploadfile/2015/1124/20151124033032915.jpg"]];
//在网络读取文件转化为16进制数据
//NSLog(@"data5=%@",data5);//需要网络请求
//把图片转化为16进制
//将二进制数据转换为文件 写到那里的路径在加上"/文件格式(gril.png)或(gril.jpg)";
// BOOL flag=[data5 writeToFile:@"/Users/ibokan/Desktop/3.jpg" atomically:YES];//放到桌面
// if (flag)
// {
// NSLog(@"success");
// }
//上传成功(把16进制转化为图片)
//求data字节长度
NSUInteger length = data4.length;
NSLog(@"length=%lu",length);
//创建一个空的data
NSMutableData *mData=[NSMutableData data];
//增加data
[mData appendData:data4];//mData为空的所有这个相当于创建一个新的data4
NSLog(@"mData =%@",mData);
}
return 0;
}