我从检索URL内容,这样的字符串:
NSString *urlStr = [NSString stringWithFormat:@"http://www.example.com/string_to_retrieve"];
NSURL *url = [NSURL URLWithString:urlStr];
NSString *resp = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:nil];
并写入到文件,这种方式:
NSString *outFile = @"/path/to/myfile";
[resp writeToFile:outFile atomically:YES encoding:NSUTF8StringEncoding error:nil];
我的字符串中包含一些特殊字符,如“ö”应当由“F6”十六进制值来表示,但是当我尝试用十六进制编辑器打开在我的字符串写入文件,我看到“O”(F6)得到了转化另外两个字符: “ö”(C3 B6)
我试图与其他几个字符串编码在这两个
NSString *resp = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:nil];
和
[resp writeToFile:outFile atomically:YES encoding:NSUTF8StringEncoding error:nil];
但总是有坏的结果...
NSASCIIStringEncoding
似乎是,我可以从我的网址,以获取该字符串的唯一途径:如果我使用其他的编码方式,如NSUTF8StringEncoding
我得到的是nil
NSUTF8StringEncoding
似乎是我可以写信给我的文件的唯一方法:如果我使用其他的编码方式,如NSASCIIStringEncoding
我得到的是一个0字节的文件
那么,怎样才能正确我检索和编写该字符串我的档案?