1. NSData 与 NSString
NSData-> NSString
NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];
NSString->NSData
NSString *aString = @"1234abcd";
NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];
//将data类型的数据,转成UTF8的数据
+(NSString *)dataToUTF8String:(NSData *)data
{
NSString *buf = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
return [buf autorelease];
}
//将string转换为指定编码
+(NSString *)changeDataToEncodinString:(NSData *)data encodin:(NSStringEncoding )encodin{
NSString *buf = [[[NSString alloc] initWithData:data encoding:encodin] autorelease];
return buf;
}
2. NSData 与 UIImage
NSData->UIImage
UIImage *aimage = [UIImage imageWithData: imageData];
//例:从本地文件沙盒中取图片并转换为NSData
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *name = [NSString stringWithFormat:@"ceshi.png"];
NSString *finalPath = [path stringByAppendingPathComponent:name];
NSData *imageData = [NSData dataWithContentsOfFile: finalPath];
UIImage *aimage = [UIImage imageWithData: imageData];
//sdk中提供了方法可以直接调用
UIImage *img = [UIImage imageNamed:@"some.png"];
NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);
//下面是sdk中UIImage.h头文件中的内容
UIKIT_EXTERN NSData *UIImagePNGRepresentation(UIImage *image); // return image as PNG. May return nil if image has no CGImageRef or invalid bitmap format
UIKIT_EXTERN NSData *UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality); // return image as JPEG. May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least)
3.NSData与NSArray NSDictionary
+(NSString *)getLocalFilePath:(NSString *) fileName
{
return [NSString stringWithFormat:@"%@/%@%@", NSHomeDirectory(),@“Documents”,fileName];
}
包括将NSData写进Documents目录
从Documents目录读取数据
在进行网络数据通信的时候,经常会遇到NSData类型的数据。在该数据是dictionary结构的情况下,系统没有提供现成的转换成NSDictionary的方法,为此可以通过Category对NSDictionary进行扩展,以支持从NSData到NSDictionary的转换。声明和实现如下:
+ (NSDictionary *)dictionaryWithContentsOfData:(NSData *)data {
CFPropertyListRef list = CFPropertyListCreateFromXMLData(kCFAllocatorDefault, (CFDataRef)data, kCFPropertyListImmutable, NULL);
if(list == nil) return nil;
if ([(id)list isKindOfClass:[NSDictionary class]]) {
return [(NSDictionary *)list autorelease];
}
else {
CFRelease(list);
return nil;
}
}
NSDate
//函数作用 :date根据formatter转换成string
+(NSString*)dateToString:(NSString *)formatter date:(NSDate *)date
{
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:formatter];
return[dateFormatter stringFromDate:date];
}
//函数作用 :string类型的时间戳转换成时间
+(NSString*)dateStringToString:(NSString *)dateStr
{
if ([dateStr isKindOfClass:[NSNull class]]) {
return nil;
}
else{
NSInteger time = [dateStr intValue];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:time];
NSString *timestr = [NSString stringWithFormat:@"%@",date];
NSRange rang;
rang.location = 0;
rang.length = 10;
NSString *needtime = [timestr substringWithRange:rang];
return needtime;
}
}
//函数作用 :将日期从原格式转换成需要的格式
+(NSString*)convertDateFormatter:(NSString*)sourceFormatter
targetFormatter:(NSString*)targetFormatter
dateString:(NSString*)dateString
{
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:sourceFormatter];
NSDate *date = [dateFormatter dateFromString:dateString];
[dateFormatter setDateFormat:targetFormatter];
return[dateFormatter stringFromDate:date];
}
//函数作用 :将日期字符串转换成date
+(NSDate *)stringToDate:(NSString *)formatter dateString:(NSString *)dateString{
NSDateFormatter *dateFormatter= [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:formatter];
return [dateFormatter dateFromString:dateString];
}
//时间戳转换成时间
NSInteger time = [[dic objectForKey:@"press_date"] intValue];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:time];
NSString *timestr = [NSString stringWithFormat:@"%@",date];
NSRange rang;
rang.location = 0;
rang.length = 10;
NSString *needtime = [timestr substringWithRange:rang];
分享到:
相关推荐
ios demo,NSData和NSDictionary之间的相互转换的实现案例。
@interface NSData (AESCrypt) - (NSData *)AES256EncryptWithKey:(NSString *)key; - (NSData *)AES256DecryptWithKey:(NSString *)key; + (NSData *)dataWithBase64EncodedString:(NSString *)string; - (id)...
NSData在IOS开发中是一个神奇的数据类型。比如说NSData可以与NSImage类型转换等等。NSData与JSON数据类型转换也是目前常用的热点。本文章是在实践基础上,给出示例代码来说明如何使用NSData,以及NSData与JSON,还有...
iOS NSData 详细使用说明文档。
一行代码搞定NSString和NSData的md5加密
NSData 与 NSString,Byte数组,UIImage 的相互转换
IOS应用源码——NSData.rar
NSData+Base64类。提供两个方法。1. + (NSData *)dataFromBase64String:(NSString *)aString; 2. - (NSString *)base64EncodedString;
ios demo,NSData和NSString之间的相互转换的源代码。
NSData通用加解密算法扩展。Created by Jim Dovey on 31/8/2008.
@interface NSData (AESCrypt) - (NSData *)AES256EncryptWithKey:(NSString *)key; - (NSData *)AES256DecryptWithKey:(NSString *)key; + (NSData *)dataWithBase64EncodedString:(NSString *)string; - (id)...
个人总结,仅供参考;废话一句,全为二十。
NSData+Base64.m
ios NSData NSString AES加密解密算法源码
ios的NSString, char, NSData格式转化
用于将数据存储到磁盘的通用 NSData 缓存,由 NSCache 支持用于内存数据。 用法 只需在顶部的某处包含标题: # import " ECDataCache.h " 然后在您的代码中使用它,如下所示: NSData *someData = [ECDataCache....
OC获取照片,已封装好,直接调用,返回值NSData图片,调用代码如下: TakePic *take = [[TakePic alloc] init]; [self addChildViewController: take]; [self.view addSubview: take.view]; [take ...
GZIP, 在iOS和Mac操作系统中,用于 gzipping/解压缩数据的简单NSData类别 命令行目GZIP是NSData上的类别,提供简单的GZIP压缩和解压功能。支持的操作系统&版本支持的构建目标- iOS 10.3/Mac 操作系统 10.12 ( Xcode ...
主要介绍了XML文件转化成NSData对象的方法,需要的朋友可以参考下
目的GZIP是NSData上的类别,提供简单的gzip压缩和解压缩功能。支持的OS和SDK版本支持的构建目标-iOS 12.0 / Mac OS 10.14(Xcode 10.1) 支持的最早部署目标-iOS 9.0 / Mac OS 10.12 最早兼容的部署目标-iOS 8.0 / ...