在iOS中,“路径”和“URL”有什么区别?

29
在像NSFileManager这样的类中,几乎每个方法都有2个版本:一个针对路径,另一个针对URL。它们有什么区别?将URL转换为路径的最佳实践是什么。
2个回答

29

路径是指在文件系统中资源(文件/目录)的位置。就像iOS文件系统一样,其他环境下的文件系统可以是Windows文件系统、Unix等。路径中可以有空格,例如/docs/random doc/。(在random和doc之间有空格)

URL是对任何地方的资源(文件系统、Web HTTP、FTP等)的引用。URL中不能有空格,与路径不同。

Web URL: http://stackoverflow.com/
文件URL: file://localhost/Users/username/docs/random%20docs/
以上文件URL的路径/Users/username/docs/random%20docs/

通俗易懂地说:

URL = 协议 (http、file 等) + 主机 (域名或IP或本地主机) + 路径


在iOS中,您可以调用url.path来从url获取路径。 - coolcool1994
1
path是一个实例方法而不是一个property。所以最好使用[anyURLObject path] - Saurabh Hooda

13

URL 包含正在使用的协议(http:// 等)。路径不包含或至少不需要。


此外,URL可以对字符进行百分号编码,例如空格。而路径不会这样做。 - StilesCrisis
我也听说过URI(除了URL),URI/URL之间有什么区别? - Rob van der Veer
1
URI用于标识资源,URL用于定位资源: https://dev59.com/mm445IYBdhLWcg3wWI2L - bluehallu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接