我正在将字符串写入文件,如下所示:
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt", nameOfFile]];
[fileString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL];
出于某种原因,TextEdit 无法识别 NSUTF8StringEncoding
。我怎样才能确保它确实有效?
希望得到一些帮助,Fabian
最佳答案
我刚刚重新创建了您的代码,它对我来说工作得很好。 TextEdit 可以很好地读取文件。
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *fileString = @"Blah blah.";
NSString *nameOfFile = @"blah";
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt", nameOfFile]];
printf("fileString:\n%s\n", [fileString UTF8String]);
printf("docsDirectory:\n%s\n", [docsDirectory UTF8String]);
printf("path:\n%s\n", [path UTF8String]);
/*
fileString:
Blah blah.
docsDirectory:
/Users/daniel/Documents
path:
/Users/daniel/Documents/blah.txt
*/
[fileString writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL];
[pool release];
return 0;
}
我唯一能想到的是你的 TextEdit 首选项,这是我的:
关于iphone - 文本编辑无法识别编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634106/