0

我想在我的 IPad-Documents-Directory 中存储一个二进制文件。

 - (void) connectionDidFinishLoading:(NSURLConnection *) connection
 NSString *txt = [[[NSString alloc] initWithData:responseData encoding: ?????] autorelease];
 //write to disk
 file = ...;
 [txt writeToFile:file atomically:NO encoding:??? error:NULL];

所以,现在我得到一个与原始文件不同的二进制文件。我假设,它是编码或 Bigendian / LittleEndian;如果我使用 Ascii 文件,则此方法可以正常工作。我该怎么办?不使用 NSString?什么编码?试了几个。没有工作。

任何的想法?

4

2 回答 2

2

您可以(并且应该)将 NSData 对象直接保存到光盘上,而无需将其转换为 NSString:

[responseData writeToFile:file atomically:NO];
于 2012-09-25T08:22:06.373 回答
1

您将二进制数据存储在一个NSString对象中并将其写入文件系统,而我认为您应该将该二进制数据加载到一个NSData对象中,然后说:

[myNSDataObject writeToFile:myFilePath atomically:YES];
于 2012-09-25T08:23:58.187 回答