OC_07_01 NSData

来源:互联网 发布:apache post请求 编辑:程序博客网 时间:2024/06/09 13:39
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //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 = "Yong";
       //char name1[] = "Yong"; //能否修改,为什么
        
        //直接将OC中字符串转成data
        NSString *string = @"你好么";
        NSData *data3 = [string dataUsingEncoding:NSUTF8StringEncoding];
        NSLog(@"%@",data3);
        
        //将本地文件中的数据转换成data
        NSData *data4 = [NSData dataWithContentsOfFile:@"/Users/8011/Desktop/OC/OC_07_01/OC_07_01/7`TY]FD{UB3TXDMCR)BAS(P.jpg"];
//        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/8011/Desktop/2.png" atomically:YES];
//        if (flag)
//        {
//            NSLog(@"成功");
//        }
        
        //求data的字节长度
        NSUInteger length = data4.length;
        NSLog(@"%lu",length);
        
        
        //创建一个空的data  NSMutableData
        NSMutableData *mData = [NSMutableData data];
        
        //增加data
        [mData appendData:data4];
        NSLog(@"%@",mData);
        
        
        
        
    }
    return 0;
}
0 0