Objective-C语言——NSData/NSMutableData




#import <Foundation/Foundation.h>

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


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值