iOS 中url链接不能有中文字符,否则就要对其进行编码后才能正常打开链接。OC中有stringByAddingPercentEscapesUsingEncoding 方法可以直接对字符串进行编码。但是在最新版swift 4.0中是没有该方法的,我在网上搜了一下午,所有的对swift 字符串utf8 编码的都他妈过时了,没个能用的,还是他妈用的人少,真是费劲!最后还是靠自己琢磨出来一个办法:
let str = "www:aaa中文.com" //假如这是一个含有中文的url字符串
//先把上面的字符串URL用utf8编码:
let data = str.data(using: String.Encoding.utf8)
//然后URL有一个方法,可以把Data转换成URL,进而解决含有中文的url,utf8编码问题:
let url = (URL(dataRepresentation: data!, relativeTo: nil))!
得到的url 就是编码后的URL了。
貌似这个办法还是没有直接对字符串进行utf8 编码,如果有知道的大神请指点!
网友评论