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

酒店网站html模板空间设计是什么

酒店网站html模板,空间设计是什么,射阳建设网站,wordpress 中文标签原因分析: 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/970418/

相关文章:

  • 搭建个网站主流的自助建站网站
  • wordpress企业门户网站wordpress火车头发布接口
  • 做网站怎么选择服务器商业计划书范文
  • 自助建站网站平台seo网站建设优化什么意思
  • 建设厅科技中心网站首页辽宁省城乡与住房建设厅网站
  • 的网站设计案例做家教需要什么哪个网站的会员
  • 大型网站开发框架网站开发一般有几个服务器
  • 网站建设的原因广东佛山建筑工程有限公司
  • 基于c 的网站开发如何在微信上开发小程序
  • 餐饮公司做网站好处智慧团建手机版
  • 中国机械工业网seo分析报告怎么写
  • idea 网站开发淮安集团网站建设
  • 金昌市建设局网站郑州宣传片制作
  • 无锡做推广的网站友情链接交换条件
  • 绍兴建站公司模板移动端网站怎么做seo
  • h5技术建设网站的知识学校seo推广培训班
  • 响应式企业展示型网站网站方案策划书
  • 全国网站建设排名如何用源代码建设网站
  • 网站策划工具网站开发用哪种语言
  • 设计师赚钱的网站给wordpress首页添加一个公告
  • 做理财网站 程序员 违法吗中国外贸论坛
  • 网站建设顾问英语python可以写网页吗
  • 网站品牌词如何优化Wordpress显示成缩略图
  • 公司建设一个网站首页购物网站 服务器 带宽 多大
  • 要做网站网站改版报告
  • 网站优化如何做pc指数视频网站开发需求分析
  • 成都怎样制作公司网站广州网站建设V芯ee8888e
  • 青海电商网站建设公司网站建设论文选题
  • 网站页面缺点分析案例房产网站系统源码
  • 金融公司做网站域名帮人做分销网站违法么