2018年2月3日星期六
- 闲来无事,坐在电脑边,突然一朋友发来消息问我,Swift中URL中带汉字,String转换成URL的时候返回是nil怎么破?
-
我也很纳闷啊 最近因为swift4.0变得稳定了,升级版本在以前的基础上修改的更少了一些,作为曾经被虐的死去活来的小司机来说,无疑是一个喜大普奔的事情啊。但是在编程中快乐的玩耍的时候,因为太久没勾搭,swift小娘皮竟然不认识了。也难怪朋友会问我这个方法哪里去找。
-
- 在网上(百度)找了半天,发现都是版本很底的swift2.0呀,swift1.2呀的。这种以前是正确的现在是错误的东西,让人学习起来头很大。在查找文档和不断尝试的情况下,终于被我从代码里把小娘皮的把柄揪出来了,把柄如下(以上纯属写者抽风,不要被误导,一定要做个五好青年)
let str = "https://www.baidu.com/s?wd=点个赞吧"
//返回查询URL组件中允许使用的字符的字符集。
let fuck = str.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
上面代码中 fuck既是转换后的url,而且这种转换不是吧https后面的几个://也一并给转换了。等有机会再把CharacterSet中的参数介绍一遍
顺带附送一个url转码后解码的方法吧
let ooo = fuck?.removingPercentEncoding
//通过用匹配的UTF-8字符替换所有百分比编码序列
//从字符串中创建一个新字符串。
print(ooo)//解码后 又是包含汉字的咯