url编码
32个英文标点符号: ~`!@#$%^&*()_-+={}[]|:;"'<,>.?/
10个数字: 0~9
52个英文字母:azAZ
字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)
http://www.faqs.org/rfcs/rfc3986.html
url
统一资源标识符 uri
uniform resource identifier
最常见的形式是统一资源定位符url
uniform resource locator
url格式定义
<scheme>://[username:password@]<host[:port]>/<path>[;<params>][?<query>][#fragment]
1、网络资源url
URL?(string:String)
2、文件url
URL(fileURLWithPath:String)
file://localhost/etc/fstab
file:///etc/fstab
URL?(string:String) 原样输出, 如果string 里面有非法字符,则返回nil,比如里面有中文字符等,仅此之外,都能成功构建。
URL(fileURLWithPath:String)
如果有/开头,加上file://输出, string支持任意字符,包括中文字符,都能够成功构建出url。
如果string没有/开头的根目录,则默认为bundle目录为当前目录,构建file:///xxx..../xxx../xxxbundle/
path是URL的一部分