您当前的位置:首页 > 计算机 > 编程开发 > Objective-C

OC之NSData

时间:05-12来源:作者:点击数:

下面为和大家简单地聊一下NSData这个类。NSData类,功能是操作二进制数据。

应用领域

在某些情况下,需要将字符串转换成二进制进行存储或者做其他用处时,需要使用NSData和NSString之间进行互换。

这种情况是最常见的:当从网上下载数据(例如图片)时,通常返回的是二进制数据,那么就需要通过NSData类生成的对象去接,然后通过NSData类中提供的方法进行适当的类型转换,才能算真正的获取到数据。

在开发过程中,有时需要对二进制文件进行数据的读取,这时也会用到NSData类。

实际应用

由于网络部分还没有涉及到,所以在这里给大家一个NSString和NSData之间进行数据类型转换的例子,通过这个例子来对NSData这种数据类型有一个最初的了解:例子:

#import <Foundation/Foundation.h>
int main() {
    NSString * str=@"http://www.cdsy.xyz";
    NSData * data=[str dataUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"the data is :%@",data);
    NSString * strCopy=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"the new string is :%@",strCopy);
    return 0;
}

输出结果:
         the data is :<68747470 3a2f2f63 2e626961 6e636865 6e672e6e 6574>
         the new string is :http://www.cdsy.xyz

代码分析:

首先进行的是将字符串转换成二进制数据:

程序开头创建了一个字符串:@http://www.cdsy.xyz,通过dataUsingEncoding:就可以直接将字符串转换成二进制数据(方法中的参数默认是NSUTF8StringEncoding)。

然后给大家演示的是将二进制数据再转换成字符串:在NSString类接口文件中,可以找到这个initWithData:对象方法,通过它,就可以直接将二进制数据转换成字符串(参数同样默认是:NSUTF8StringEncoding)。

NSData类还有一个可变类型:NSMutableData类,比NSData对象多的功能就是可以更新对象中的二进制数据(添加、更改)。这里不再举例,编程中不经常使用。会在文件操作的章节中看到它的出现。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
上一篇:OC之NSDate 下一篇:OC中的包裹类
推荐内容
相关内容
栏目更新
栏目热门