この方法で、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」の16進値で表される「ö」のようないくつかの特別な文字が含まれていますが、16進エディタで文字列が書き込まれているファイルを開こうとすると、「ö」(F6)が変換されたことがわかります他の2つの文字へ: "ö"(C3 B6)
両方で他のいくつかの文字列エンコーディングを試しました
NSString *resp = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:nil];
と
[resp writeToFile:outFile atomically:YES encoding:NSUTF8StringEncoding error:nil];
しかし、常に悪い結果をもたらします...
NSASCIIStringEncoding
私が自分のURLからその文字列を取得できる唯一の方法のようです:私が取得するNSUTF8StringEncoding
すべてのような他のエンコーディングを使用する場合はnil
NSUTF8StringEncoding
私が自分のファイルに書き込むことができる唯一の方法のようです:NSASCIIStringEncoding
私が得るすべてのような他のエンコーディングを使用する場合、0バイトのファイルです
では、どうすればその文字列を適切に取得してファイルに書き込むことができますか?