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

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        

        /*

         NSData

         NSMutableData

         

         在计算机中文件分为哪几种?

         1.二进制文件(图片,音频,歌曲,电影是二进制文件)

         2.文本文件(‘.tex’的文件是文本文件)

         

         2.客户端和服务器端,或者客户端与客户端数据交流的格式为二进制(字节流)。

         那么对传输给客户端的数据,在我们OC中用什么类来存储呢?即为‘NSData’类中,由其实例化的对象,此对象

         中包含的字节,这些字节就是我们客户端想要的信息。

         

         

         */

        

        //创建一个空的Data

        NSData *data=[NSData data];

        

        //将字符串转换为NSData

        //C语言中字符

        

        //使用const关键字来将一个变量变为常量。const修饰的常量称为符号常量(有些地方也称为 命名常量),他所修饰的值一旦被设定以后,后期无法不修改。

        const char *str="Hello";

        NSData *data2=[NSData dataWithBytes:str length:strlen(str)];

        

        NSLog(@"data2=%@",data2);//生成16进制输出  8个空一格

        

        

        char *name="Rick";

        char name1[]="Rick";

        //加了const不可以修改 那么不

        

        

        //直接将OC支付穿转换成NSData

        NSString *string =@"你好吗";

        NSData *data3=[string dataUsingEncoding:NSUTF8StringEncoding];

        NSLog(@"data3=%@",data3);

        

        

        NSData *data4=[NSData dataWithContentsOfFile:@"/Users/ibokan/Desktop/自己/OC_07_01/OC_07_01/anglaybaby.jpg"];//将本地文件中的数据转成data

        

        //Xcode把文件拖动@“这里

        

        //NSLog(@"data4=%@",data4);

        

        

        //从网络读取数据转化成data

//        NSData *data5=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.huabian.com/uploadfile/2015/1124/20151124033032915.jpg"]];


//在网络读取文件转化为16进制数据

        

        //NSLog(@"data5=%@",data5);//需要网络请求


//把图片转化为16进制

        

        //将二进制数据转换为文件 写到那里的路径在加上"/文件格式(gril.png)(gril.jpg)";

//        BOOL flag=[data5 writeToFile:@"/Users/ibokan/Desktop/3.jpg" atomically:YES];//放到桌面

//        if (flag)

//        {

//            NSLog(@"success");

//        }

        

        //上传成功(把16进制转化为图片)

        //data字节长度

        NSUInteger length = data4.length;

        NSLog(@"length=%lu",length);

        

        //创建一个空的data

        NSMutableData *mData=[NSMutableData data];

        

        //增加data

        [mData appendData:data4];//mData为空的所有这个相当于创建一个新的data4

        NSLog(@"mData =%@",mData);

        

 

        

        

    }

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值