私は疑問符(?)をエスケープしないので、stringByAddingPercentEscapesUsingEncodingからCFURLCreateStringByAddingPercentEscapesに切り替える必要がありました。私はそれが脱出し、まさに好奇心旺盛だし、部分的な理論的根拠はいくつかの良いカテゴリはあなたが必要なものばかりやっ用に作成されたRFC 3986stringByAddingPercentEscapesUsingEncodingがエスケープする文字は何ですか?
7
A
答えて
1
対エスケープ: http://iosdevelopertips.com/networking/a-better-url-encoding-method.html http://www.cocoanetics.com/2009/08/url-encoding/
根拠残しますある特定の文字が私の外に出ています...ただし、関数の定義は次のとおりです。
完全に正しいように、+と&はURL内の正当な文字ですが、スペースはありません。したがって、メソッドは正しくスペースをエスケープしますが、+と&はそのまま残ります。
読み込みRFC2396 http://www.ietf.org/rfc/rfc2396.txt - 予約された文字と予約されていない文字のセットがあります。私の推測では、これらの文字のどれもがstringByAddingPercentEscapesUsingEncodingによってエスケープされないということです。
5
CFStringRefを使用しているときに、変換時にメモリがリークしないように注意してください。ここで私はラテン文字などで作業するために思いついたことがあります。私はURL全体ではなく、パラメータをエスケープするためにこれを使用します。あなたのユースケースに応じて、「escapeChars」私はこれが役に立てば幸い
CFStringRef escapeChars = (CFStringRef)@"%;/?¿:@&=$+,[]#!'()*<>¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ \"\n";
NSString *encodedString = (__bridge_transfer NSString *) CFURLCreateStringByAddingPercentEscapes(NULL, (__bridge_retained CFStringRef) url, NULL, escapeChars, kCFStringEncodingUTF8);
から文字を追加または削除する必要があるかもしれません。
関連する問題
- 1. エスケープ文字とは何ですか
- 2. Regexで `エスケープ文字列`とは何ですか? (JavaScript)
- 3. Javaでformfeedとbackspaceエスケープ文字列を使用するとは何ですか?
- 4. stringByAddingPercentEscapesUsingEncodingは非推奨です
- 5. Python2.xのUnicode文字列からエスケープ文字(エスケープ文字のUnicode文字)を削除するには?
- 6. Macで@文字をエスケープするには
- 7. 特殊文字をPython文字列からエスケープするためのベストプラクティスは何ですか?
- 8. ユーザーストリングのエスケープ文字をエスケープする
- 9. 文字列(PowerShell)のHTML固有の文字をエスケープする最も良い方法は何ですか?
- 10. 逐語文字列でエスケープ文字を使用するには?
- 11. PHP 5.6とPDOではエスケープ文字が必要ですか?
- 12. cmdではどのシンボルがエスケープ文字ですか?
- 13. 文字をエスケープする
- 14. 修正/エスケープのjavascriptのエスケープ文字ですか?
- 15. Javaは文字列からエスケープ文字を削除します
- 16. 文字列のエスケープ文字をエスケープできません
- 17. to_tsqueryで特殊文字をエスケープする
- 18. Haskell:I/Oでエスケープするunsolicited unicode文字
- 19. PythonでJavaScript文字列をエスケープする
- 20. sphinx.confでエスケープするハッシュ(#)文字
- 21. シェルスクリプトエスケープダブルクォートでエスケープ文字(\)を製造する
- 22. PHP文字列で "$ _"をエスケープする
- 23. Rubyで特殊文字をエスケープする
- 24. Pythonで文字列をエスケープするmysql.connector
- 25. elasticsearchで特殊文字をエスケープする
- 26. .NETエスケープ文字?
- 27. エスケープ文字
- 28. Kivyエスケープ文字
- 29. HTMLエスケープ文字
- 30. エスケープ文字
今、私はその文書を読むのにほんの数分しか要しません。:) –