2009-04-13 17 views
2

iPhone開発用のファイルシステムパスをエスケープするためのシステムライブラリはありますか?ファイル名を第三者の値に基づいて読み書きする必要があるので、実際に書き込んでいるパスがきれいで安全であることを確認したい。iPhoneのファイルシステムパスをどのようにエスケープしますか?

これは私にとってはこれを行うNSライブラリだと思っていました。これは、開発者が書き換えないはずの「シンプルな」タイプの関数だからですが、もしあれば見つけられないでしょう。

ありがとうございます!

編集:おかげで返事を、stringByStandardizingPath:文字列のため、実際のファイルパスを取得するためのよさそうだが、私は次のようなものだろう探しているものを:基本的に

in: @"~/Foo/Bar" 
out: @"__Foo_Bar" or @"FooBar" etc. 

それは考えを安全でない文字をファイルパスコンポーネントから削除します。

調査の結果、ファイルパスに「/」以外のほとんどのユニコード文字があるように見えます。しかし、ファイルパスは通常壊れやすく、エスケープシーケンスなどで操作することができます。私は、Appleの大きな頭脳が安全でない値のファイルパスコンポーネントを取り除くAPIを持っていることを期待しています。

答えて

1

あなたは試すことができたNSStringの- (NSString *)stringByStandardizingPath

+1

これは/../や/./のようなものを削除します。エスケープとは関係ありません – Dustin

0
私は、ホワイトリストと多分 [a-zA-Z0-9_. ]、または多分何かもう少し複雑に行く、単に%20」にどのようにURLのエンコードスペースに似たヘクスに他のものを、エンコード言う

'

関連する問題