iOS NSData简单解析
iOS 基本数据类型之NSData
1 nsdata
作用:
用于存储二进制的数据类型
nadat类提供一种简单的方式,它用来设置缓存区。将文件的内容读入到缓存区。或者将缓存区中的内容写到一个文件。
不变缓存区(nsdata类) 也可定义可变缓存区类(nsmutableData类)
NSData 、 NSString互转:
NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding]; //NSString转换成NSData类型
NSString * newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSData 、Byte 互转
NSString *testString = @"1234567890";
NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
Byte *testByte = (Byte *)[testData bytes];
Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
NSData *adata = [[NSData alloc] initWithBytes:byte length:24];
NSData转UIImage
UIImage *aimage = [UIImage imageWithData: data];
NSData转NSDictionary
@interface NSDictionary (Helpers)
+ (NSDictionary *)dictionaryWithContentsOfData:(NSData *)data;
@end
@implementation NSDictionary (Helpers)
+ (NSDictionary *)dictionaryWithContentsOfData:(NSData *)data {
CFPropertyListRef plist = CFPropertyListCreateFromXMLData(kCFAllocatorDefault, (CFDataRef)data,
kCFPropertyListImmutable,
NULL);
if(plist == nil) return nil;
if ([(id)plist isKindOfClass:[NSDictionary class]]) {
return [(NSDictionary *)plist autorelease];
}
else {
CFRelease(plist);
return nil;
}
}
@end
NSData 应用场景
将文件的内容读入内存缓冲区
NSData *fileData;
NSFileManager *fileManager = [[NSFileManager alloc]init];
fileData = [fileManager contentsAtPath:path];
将缓冲区的内容写入到一个文件中
NSFileManager *fileManager = [[NSFileManager alloc]init];
[fileManager createFileAtPath:path contents:fileData attributes:nil];
天下文章一大抄 该文内容根据以下博客整理
http://www.cnblogs.com/GISerYang/p/3345350.html
http://bj007.blog.51cto.com/1701577/538990/
http://blog.csdn.net/jerryvon/article/details/7350567
http://www.cnblogs.com/duchengdong/archive/2012/03/29/2422997.html
http://www.myexception.cn/operating-system/1808379.html
iOS NSData简单解析的更多相关文章
- iOS开发-简单解析JSON数据
什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组 {“nam ...
- iOS - JSON 数据解析
iOS - JSON 数据解析 前言 NS_CLASS_AVAILABLE(10_7, 5_0) @interface NSJSONSerialization : NSObject @availab ...
- 2016 - 1- 23 iOS中xml解析 (!!!!!!!有坑要解决!!!!!!)
一: iOS中xml解析的几种方式简介 1.官方原生 NSXMLParser :SAX方式解析,使用起来比较简单 2.第三方框架 libxml2 :纯C 同时支持DOM与SAX GDataXML: D ...
- 对 cloudwu 简单的 cstring 进行简单解析
题外话 以前也用C写过字符串,主要应用的领域是,大字符串,文件读取方面.写的很粗暴,用的凑合着.那时候看见云风前辈的一个开源的 cstring 串. 当时简单观摩了一下,觉得挺好的.也没细看.过了较长 ...
- iOS push全方位解析(二)【译文】"——生成OpenSSL证书,Provisioning Profile
这是一篇来自raywenderlich的教程,内容翔实!结构简单透彻.讲解循序渐进.文章质量上乘!是一篇难的的博文!使用半瓶的英语水平翻译了一下: 1.[iOS push全方位解析](一) push的 ...
- (转)iOS Wow体验 - 第二章 - iOS用户体验解析(2)
本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第二章译文精选的第二部分,其余章节将陆续放出.上一 ...
- iOS开发 XML解析和下拉刷新,上拉加载更多
iOS开发 XML解析和下拉刷新,上拉加载更多 1.XML格式 <?xml version="1.0" encoding="utf-8" ?> 表示 ...
- iOS使用TFHpple解析html
iOS 开发中解析html 网上有很多写好的解析框架 今天就来讲一下如何用框架TFHpple来解析html 使用TFHpple解析html github地址:https://github.com/to ...
- iOS上简单推送通知(Push Notification)的实现
iOS上简单推送通知(Push Notification)的实现 根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification ...
随机推荐
- bzoj3631
其实这道题其实可以转化为这样一个问题 给定n-1对点,将这两点x,y间简单路径上的点(包括起点终点)权值+1 (最后再把除了起点外的点的权值-1,注意终点没糖吃) 求每个点的权值 首先想到的是先找LC ...
- outlook2010怎么老提示IMAP服务器已关闭连接啊
最近在Outlook中使用 网易 163邮件的IMAP功能时,发现接收邮件的速度非常慢,才几封邮件就花了至少15分钟才停止了同步邮件服务器的过程,然后提示一个对话框:"IMAP 服务器已 ...
- 【转】Android ProgressDialog的使用
原文网址:http://blog.csdn.net/sjf0115/article/details/7255280 版权声明:本文为博主原创文章,未经博主允许不得转载. <1>简介 Pro ...
- Linux下的各种软件安装方法汇总
1 RPM包 1.1 安装 RPM包就像Windows的EXE安装文件一样,各种文件都已经编译好了,并进行了打包,哪一个文件应该放在哪一个目录下都指定好了,安装非常方便,在图形界面里你只需要双击就能自 ...
- 装饰模式,制作一个蛋糕java
import java.text.DecimalFormat; //抽象组件组件 interface mkcake { public void cake(); } class Cake impleme ...
- BZOJ1015 [JSOI2008]星球大战starwar(并查集)
1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 3895 Solved: 1750[Submit ...
- PyH : python生成html
参考:Python PyH模块中文文档 1. 使用自己的css或者js文件. 写好自己的css以及js文件,比如mystyle.css.myjs.js. from pyh import * page ...
- poj 3259 Wormholes【spfa判断负环】
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 36729 Accepted: 13444 Descr ...
- PHP——四种基本排序算法
分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序. $arr(1,43,54,62,21,66,32,78,36,76,39); 1. 冒泡排序 思路分析 ...
- 第一贱-UILabel
UILabel *label = [[UILabel alloc]init]; label.frame = CGRectMake(100, 100, 100, 100); label.text = @ ...