你如何逃避iPhone的文件系统路径?

时间:2009-04-13 22:11:25

标签: iphone file path system escaping

是否有用于转发iPhone开发的文件系统路径的系统库?我必须读取和写入文件名基于第三方值的文件,所以我想确保我实际写的路径是好的和安全的。

我原本以为有一个NS库会为我做这个,因为这是每个开发人员可能不应该重写的“简单”类型的函数,但是如果有的话我找不到它。

谢谢!

编辑:感谢您的回复,stringByStandardizingPath:看起来很适合获取字符串的真实文件路径,但我正在寻找的内容类似于以下内容:

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

基本上它会从文件路径组件中删除任何不安全的字符。

在继续研究之后,看起来几乎任何除了'/'之外的unicode字符都允许在文件路径中。但是,文件路径通常很脆弱,可以通过转义序列等操作。所以我希望Apple的大脑有一个API来剥离不安全值的文件路径组件。

2 个答案:

答案 0 :(得分:1)

您可以尝试NSString的- (NSString *)stringByStandardizingPath

答案 1 :(得分:0)

我会说白名单,可能是[a-zA-Z0-9_. ],或者可能更复杂一些,只需将其他任何内容编码为十六进制,类似于url将空格编码为'%20'