1、NSData
注釋:
用於存儲二進制的數據類型
NSData類提供了一種簡單的方式,它用來設置緩沖區、將文件的內容讀入緩沖區,或將緩沖區的內容寫到一個文件。
不變緩沖區(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