我正在从 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”十六进制值表示,但是当我尝试使用十六进制编辑器打开写入我的字符串的文件时,我看到“ö”(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 字节文件
那么我怎样才能正确地检索该字符串并将其写入我的文件呢?