计算机文件分为两种:二进制文件和文本文件,其中计算机中的图片、视频、音频等就是二进制文件,而‘.txt’的文件就是文本文件。
通常,客户端与服务器端,或者客户端与客户端数据交流的格式为二进制(字节流)。在OC中用NSData类进行存储。而在NSData类中,此对象由其是实例化的对象,此对象包含了大量的字节,这些字节就是我们客户端想要的信息。
1.对不可变data进行的操作:
1)初始化/创建一个空的data
NSData *data1 = [NSData data];
2)将字符串转换成NSData
//使用const关键字来将一个变量变为常量。const修饰的常量也称为‘命名常量’或者‘符号常量’
const char *str = "Hello";
NSData *data2 = [NSData dataWithBytes: str length:strlen(str)];
3)将OC中的字符串转化成NSData
NSString *string = @"你好吗?";
NSData *data3 = [string dataUsingEncoding:NSUTF8StringEncoding];
4)将本地文件中的图片转换成数据
NSData *data4 = [NSData dataWithContentsOfFile:@"图片路径"];
5)将数据写入本地文件
BOOL flag = [data4 writeToFile:@"存储路径"];
6)求data的字节长度
NSInteger length = data4.length;
NSData与NSMutableData的关系:NSMutableData继承与NSData,所以NSMutableData在初始化以及一些与字符串之间的转换的方法相似。而与可变数组、可变字符串一样,NSMutableData也用都“增”、“删”、“改”的一些操作。