使用Nsdata作为字符串初始化Nsdata

时间:2014-06-21 16:25:39

标签: objective-c xcode

我有一些NSData输出,我想将其转换为字符串。

NSString * test = [NSString stringWithFormat:@"myfile.txt];    
NSData *myData = [[NSData alloc] initWithContentsOfFile:(@"%@", test)];

此NSData已保存到文件中,它看起来像:21fa9731 27c67c00 da1c3349 d82470eb 56f97b88 559f406c 6abecbb7 de020007 47a4541d 99c9c5e7 883f8bf1 165fba39

你知道一种方法来恢复这个字符串,因为它在" myfile.txt" ?

谢谢!

2 个答案:

答案 0 :(得分:0)

我不知道你的问题是什么。您可以与我们分享文件的编写方式,以便我们可以更加接近。

然而,你做得太复杂,因此容易出错。以下内容用于读取名称为myfile.txt的常量文件。

NSData *myData = [[NSData alloc] initWithContentsOfFile:@"myfile.txt"];

坦率地说,我甚至不知道预期在哪个目录myfile.txt。处理常量文字当然有比在代码中直接使用文字更好的方法。

顺便说一下,你在myData中实际收到了什么?空值?

(这更多的是评论而不是答案,但答案中的格式要好得多。)

答案 1 :(得分:0)

如果数据文件位于HDD上的某个位置(不在应用程序包中),则必须提供数据文件的完整路径。

NSString * test = [NSString stringWithFormat:@"myfile.txt];    
NSData *myData = [[NSData alloc] initWithContentsOfFile:(@"%@", test)];

NSString* myString = [NSString alloc]initWithData:myData
                    encoding: NSUTF8StringEncoding];

选择保存数据文件的编码。