OC_07_01 NSData

#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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值