iOS アプリで、サーバーから画像をダウンロードしています。サーバー上のすべての画像について、その URL (パス) を取得し、ログに記録してから、配列に追加します。私の問題は、サーバー上の 1 つの画像のファイル名自体に引用符が含まれていることです。したがって、次のように URL をログに記録すると:
NSLog(@"New file path reads: %@", /*path on server*/);
ログ出力は次のとおりです。
新しいファイル パス: http://server.com/folder/ \"Image\".jpeg
これは、(\") エスケープ コードが文字 (") を返し、ファイルが正常にダウンロードされるためです。次に、ファイルのパスを使用して NSString を作成し、ファイルの名前を表示します。これは、ファイル名の文字列にある " http://server.com/folder/ "を置き換えるだけです。他のすべてのファイルの場合、これは完全に機能します。たとえば、パスにファイルがある場合:
新しい表示名は次のようになります。
Test.jpeg
ただし、ファイル名/パスに引用符が含まれている場合 ("Image".jpeg など)、表示名は次のようになります。
%5c%22画像%5c%22.jpeg
それで、私の質問は次のとおりです。「 http://server.com/folder/ 」の出現箇所を置き換えるだけなのに、ログに記録した URL と表示名が異なるのはなぜですか。これを修正するにはどうすればよいですか?
私はどこでも答えを探しましたが、役に立つものは何も見つかりませんでした!
更新: これは多くの文字 (<、> など) で発生することに気付きました。