NSDictionary和NSData之间的相互转换

我封装好了2个方法,用来字典和data相互转换的,直接复制方法拿来用就可以了,注意2点:

1.我是用的mrc,用arc的同学把autorelease去掉即可。

2.第二个我是路径文件转的字典,想data转的话自己把方法改一下就行了。

//字典转data

+(NSData *)returnDataWithDictionary:(NSDictionary *)dict

{

NSMutableData * data = [[NSMutableData
alloc]
init];

NSKeyedArchiver * archiver = [[NSKeyedArchiver
alloc] initForWritingWithMutableData:data];

[archiver
encodeObject:dict
forKey:@"talkData"];

[archiver
finishEncoding];

[data
autorelease];

[archiver
autorelease];

return data;

}

//路径文件转dictonary

+(NSDictionary *)returnDictionaryWithDataPath:(NSString *)path

{

NSData * data = [[NSMutableData
alloc] initWithContentsOfFile:path];

NSKeyedUnarchiver * unarchiver = [[NSKeyedUnarchiver
alloc]
initForReadingWithData:data];

NSDictionary * myDictionary = [[unarchiver
decodeObjectForKey:@"talkData"]
retain];

[unarchiver
finishDecoding];

//    NSLog(@"%@", myDictionary);

[unarchiver
autorelease];

[data
autorelease];

return myDictionary;

}

时间: 2024-10-13 02:17:15

NSDictionary和NSData之间的相互转换的相关文章

Swift中NSData与NSDictionary之间的相互转换

原创Blog,转载请注明出处 使用NSKeyedUnarchiver类来进行相互转换 1.NSDictionary转NSData var dictionaryExample : [String:AnyObject] = ["user":"UserName", "pass":"password", "token":"0123456789", "image":0] let

NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化

    在iOS  5 中,苹果引入了一个解析JSON串的NSJSONSerialization类. 通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化. 以前,我记得我用的是第三方的插件.但是,苹果出了这套解析后,效率也大大了超过了,所有的解析第三方类库.所以,推荐使用NSJSONSerialization类来完成转化. 一.将NSDictionary或NSArray转化为JSON串 // 将字典或者数组转化为JSON串 - (NSData *)toJSON

C#List<string>和string[]之间的相互转换

 一.LIST概述 所属命名空间:System.Collections.Generic      public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable List<T>类是 ArrayList 类的泛型等效类.该类使用大小可按需动态增加的数组实现 IList<T> 泛型接口.  泛型的好处: 它为使

XML编程总结(六)——使用JAXB进行java对象和xml格式之间的相互转换

(六)使用JAXB进行java对象和xml格式之间的相互转换 JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标志可以转换为JSON对象的JAVA类. JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实例文档反向生成Java对象树

Python网络编程——主机字节序和网络字节序之间的相互转换

If you ever need to write a low-level network application, it may be necessary to handle the low-level data transmission over the wire between two machines. This operation requires some sort of conversion of data from the native host operating system

java Data、String、Long三种日期类型之间的相互转换

java Data.String.Long三种日期类型之间的相互转换 // date类型转换为String类型 // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒 // data Date类型的时间 public static String dateToString(Date data, String formatType) { return new SimpleDateFormat(formatType).format(data

C# Enum Name String Description之间的相互转换

最近工作中经常用到Enum中Value.String.Description之间的相互转换,特此总结一下. 1.首先定义Enum对象 1 public enum Weekday 2 { 3 [Description("星期一")] 4 Monday=1, 5 [Description("星期二")] 6 Tuesday=2, 7 [Description("星期三")] 8 Wednesday=3, 9 [Description("星期

Byte[]、Image、Bitmap 之间的相互转换

原文:Byte[].Image.Bitmap 之间的相互转换 /// <summary>        /// 将图片Image转换成Byte[]        /// </summary>        /// <param name="Image">image对象</param>        /// <param name="imageFormat">后缀名</param>        

char * string nsstring 之间的相互转换

std::string转NSString std::string _string("hello"); NSString *str= [NSString stringWithCString:_string.c_str() encoding:[NSString defaultCStringEncoding]]; NSString转std::string NSString * nsfaceName[email protected]"HELLO"; const char *