2009-04-13 29 views
2

是否有用於iPhone開發的文件系統路徑轉義的系統庫?我必須讀取和寫入文件名稱基於第三方值的文件,所以我想確保我實際寫入的路徑非常安全。你如何逃避iPhone的文件系統路徑?

我原以爲有一個NS庫會爲我做這件事,因爲這是「簡單」類型的函數,每個開發者可能都不應該重寫,但是如果有一個的話,我找不到它。

謝謝!

編輯:感謝您的答覆,stringByStandardizingPath:看起來不錯的得到一個真正的文件路徑字符串,但我正在尋找會做類似下面的東西:

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

基本上它會去除文件路徑組件中的任何不安全的字符。

在繼續研究之後,它看起來像文件路徑中允許除'/'之外的幾乎所有unicode字符。然而,文件路徑通常是脆弱的,可以通過轉義序列等操作,所以我希望蘋果的大腦有一個API去除不安全值的文件路徑組件。

回答

1

您可以嘗試的NSString的- (NSString *)stringByStandardizingPath

+1

刪除/../和/./等內容 - 與轉義無關 – Dustin 2011-05-06 05:15:23

0

我會說去一個白名單,也許[a-zA-Z0-9_. ],或者也可以是一個有點複雜了,根本編碼任何其他爲十六進制,類似的URL是如何編碼的空間爲「%20 '