Objective-C_语言_NSData(不可变数据)和NSMutableData(可变数据)

<span style="font-size:18px;">#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 = "Rick";
//        char name1[] = "Rick";
        
        
        
        //直接将OC中字符串转成data
        NSString *string = @"你好么";
        NSData *data3 = [string dataUsingEncoding:NSUTF8StringEncoding];
        NSLog(@"data3 = %@",data3);
        
        //将本地文件中的数据转换成data
        NSData *data4 = [NSData dataWithContentsOfFile:@"/Users/ibokan2/Desktop/OC2/0C-07-01/0C-07-01/7`TY]FD{UB3TXDMCR)BAS(P.jpg"];
        NSLog(@"data4 = %@",data4);
        
        //将网络读取数据转换成data
        NSData *data5 = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.huabian.com/uploadfile/2015/1124/20151124033032915.jpg"]];
        NSLog(@"data5 = %@",data5);
        
        //将数据写入指定文件
        BOOL flag = [data5 writeToFile:@"/Users/ibokan2/Desktop/gril.png" atomically:YES];
        if (flag)
        {
            NSLog(@"success");
        }
        
        //求data字节长度
       NSUInteger length =  data4.length;
        NSLog(@"length = %lu",length);
        
        //创建一个空的data NSMutableData
        NSMutableData *mData = [NSMutableData data];
        
        //增加data
        [mData appendData:data4];
        NSLog(@"mData = %@",mData);
        
        
        
        
        
    }
    return 0;
}</span>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值