当前位置: 首页 > news >正文

怎么找网站模板wordpress下载tar.gz

怎么找网站模板,wordpress下载tar.gz,网络推广服务合同,浙江品牌网站建设原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理 如下: guard let allowUrl webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时&a…

原因分析:

url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理 

如下:

   guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return}

后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问。

这表名.urlQueryAllowed并没有包含字符"#"。

也有提供API可以测试:

.urlQueryAllowed.contains("#")

解决方案:

显而易见,只要将字符"#"加到.urlQueryAllowed即可解决这个问题。

CharacterSet提供了三个方法:

取并集
/// Returns a union of the `CharacterSet` with another `CharacterSet`.
public func union(_ other: CharacterSet) -> CharacterSet取交集
/// Returns an intersection of the `CharacterSet` with another `CharacterSet`.
public func intersection(_ other: CharacterSet) -> CharacterSet取补集
/// Returns a `CharacterSet` created by removing elements in `other` from `self`.
public func subtracting(_ other: CharacterSet) -> CharacterSet

为CharacterSet增加一个新属性

extension CharacterSet {static let allowedCharacters = urlQueryAllowed.union(.init(charactersIn: "#"))
}

上面的url编码方法改为

   guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .allowedCharacters) else {return}

在编码过程中不对字符#操作即可解决。

寻根究底

.urlQueryAllowed中到底包含哪些字符?

以下是遍历NSCharacterSet字符集一种的实现方式。(摘自:URL详解以及iOS中URLencode和URLdecode)

NSString* characters(NSCharacterSet *set){NSMutableString *string = [NSMutableString string];for (UInt8 plane = 0; plane < 17; plane++) {if ([set hasMemberInPlane:plane]){UInt32 p0 = (UInt32)plane * 65535;UInt32 p1 = (UInt32)(plane + 1) * 65535;for (UInt32 i = p0; i < p1; i ++) {if([set longCharacterIsMember:i]){[string appendFormat:@"%c",I];}}}}return string;}

原理:OC中的字符是Unicode字符集(Swift也是)Unicode共有17个扇区,每个扇区能表示65535个Unicode字符,用4个字节就可以表示任意Unicode码点,通过遍历Unicode字符集就可以找出NSCharacterSet包含的集合了;
hasMemberInPlane:判断当前字符是否在当前扇区。
longCharacterIsMember:当前字符在字符集中是否存在。

NSCharacterSet提供了标准字符集:部分字符集遍历结果如下:
URLUserAllowedCharacterSet

!$&'()*+,-.0123456789;=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~

URLHostAllowedCharacterSet

!$&'()*+,-.0123456789:;=ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_abcdefghijklmnopqrstuvwxyz~

URLPathAllowedCharacterSet

!$&'()*+,-./0123456789:=@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~

URLQueryAllowedCharacterSet

!$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~

URLPasswordAllowedCharacterSet

!$&'()*+,-.0123456789;=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~

URLFragmentAllowedCharacterSet

!$&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~

http://www.yayakq.cn/news/205583/

相关文章:

  • 网站建设面对的问题企业做网站上海
  • 海安县城乡建设局网站WordPress自己写主题
  • 西安网站建设网络公司承德网站建设价格
  • 网站建设与制作教程下载wordpress always
  • jsp网站建设项目实践wordpress 卢松松主题
  • 滨湖区知名做网站价格制作会员手机网站
  • 网站开发数据流程图怎么画城市建设规划网站
  • 本地网站建设视频北京市建设厅官方网站
  • 网站制作软件 aws企业网站源码怎么用
  • 东直门小学的网站建设wordpress防下载
  • 网站开发的书籍非响应式网站优点
  • 精品课程网站建设毕业设计论文紫金网站建设公司
  • 代搭建网站网站建设和托管哪家好
  • 站酷网下载wordpress 客户端源码
  • net快速建站新建网站百度搜不到
  • 徐州模板自助建站河北网页制作
  • 深圳网站建设费用多少分类信息网站开发需求方案
  • 网站制作工具 织梦正规接单赚佣金的平台
  • photoshop怎么做网站找合伙人的网站做淘宝
  • 两学一做网站飘窗科技网站建设
  • 新楼盘网站模板建设公积金网站
  • 网站开发vs2013沈阳男科医院哪家医院好
  • 福建住房和城乡建设网站证书查询从零开始创建wordpress主题.pdf
  • 淘客网站怎么做 知乎专业的单位网站开发开发
  • 菏泽哪里有做网站的php网站开发培训班
  • 超市网站建设策划书wordpress4.8.3安装
  • 广西公路建设协会网站湖南中维电力建设有限公司网站
  • 做网站需要哪些栏目四大门户网站创始人
  • 做网站一个月赚多少厦门中小企业网站制作
  • 福州做网站企业企业网站推广注意事项