我想在我的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-File,这种方法可以正常工作。 我该怎么办?不使用NSString?什么编码?试了好几个。没有工作。
任何想法?
答案 0 :(得分:2)
您可以(并且应该)将NSData对象直接保存到光盘而不将其转换为NSString:
[responseData writeToFile:file atomically:NO];
答案 1 :(得分:1)
您将二进制数据存储在NSString
对象中并将其写入文件系统,而我认为您应该将该二进制数据加载到NSData
对象中,然后说:
[myNSDataObject writeToFile:myFilePath atomically:YES];