Swift3.0语言教程使用URL字符串

时间:2022-10-31 14:50:03

Swift3.0语言教程使用URL字符串

Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串。本小节将讲解URL字符串的使用。

1.编码

现在的网络存在很多的泄漏信息的危险,为了解决这一危险,URL字符串提供了编码的的方式,在NSString中开发者可以使用addingPercentEncoding(withAllowedCharacters:)方法实现编码的功能,也就是将指定的字符集使用“%”代替,其语法形式如下:

func addingPercentEncoding(withAllowedCharacters allowedCharacters: CharacterSet) -> String?

其中,allowedCharacters用来指定进行编码的字符集,这些字符串集会使用%代替。

【示例1-96】以下将使用addingPercentEncoding(withAllowedCharacters:)方法对URL字符串进行编码。

import Foundation

var path=NSString(string:"https://www.xiaocaobank.com")

var cs=NSCharacterSet(charactersIn:"`#%^{}\"[]|\\<>//").inverted

print(path.addingPercentEncoding(withAllowedCharacters: cs)!)                            //编码

运行结果如下:

https:%2F%2Fwww.xiaocaobank.com

2.解码

在NSString中有编码的方法就会存在有解码的方法,要实现解码功能,需要使用到removingPercentEncoding属性,它可以将“%”去除,其语法形式如下:

var removingPercentEncoding: String? { get }

【示例1-97】以下将对编码的URL字符串进行解码。

import Foundation

var path=NSString(string:"http://hogehoge.com/?param=!*'();:@&=+$,/?%#[]")

var cs=NSCharacterSet.alphanumerics

var encodePath=path.addingPercentEncoding(withAllowedCharacters: cs)!

print(encodePath)

var decodeString=encodePath.removingPercentEncoding                                        //解码

print(decodeString!)

运行结果如下:

http%3A%2F%2Fhogehoge%2Ecom%2F%3Fparam%3D%21%2A%27%28%29%3B%3A%40%26%3D%2B%24%2C%2F%3F%25%23%5B%5D

http://hogehoge.com/?param=!*'();:@&=+$,/?%#[]

Swift3.0语言教程使用URL字符串

相关阅读:Swift3.0语言教程使用路径字符串

Swift3.0语言教程使用URL字符串的更多相关文章

  1. Swift3&period;0语言教程使用路径字符串

    Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...

  2. Swift3&period;0语言教程替换子字符串

    Swift3.0语言教程替换子字符串 Swift3.0语言教程替换子字符串,替换子字符串其实就是将字符串中的子字符串删除,然后再进行添加.为了让这一繁琐的过程变的简单,NSString提供了替换子字符 ...

  3. Swift3&period;0语言教程获取C字符串

    Swift3.0语言教程获取C字符串 Swift3.0语言教程获取C字符串,为了让Swift和C语言可以实现很好的交互,开发者可以使用NSString的cString(using:)方法在指定编码格式 ...

  4. Swift3&period;0语言教程字符串转换为数字值

    Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...

  5. Swift3&period;0语言教程组合字符串

    Swift3.0语言教程组合字符串 Swift3.0语言教程组合字符串,当开发者想要将已经存在的字符串进行组合,形成一个新的字符串,可以使用NSString中的两个方法,分别为appending(_: ...

  6. Swift3&period;0语言教程字符串与URL的数据转换与*转换

    Swift3.0语言教程字符串与URL的数据转换与*转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与*转换,字符串中的字符永久保存除了可以 ...

  7. Swift3&period;0语言教程字符串与文件的数据转换

    Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...

  8. Swift3&period;0语言教程分割字符串与截取字符串

    Swift3.0语言教程分割字符串与截取字符串 Swift3.0语言教程分割字符串 如果想要快速的创建一个数组,我们可以将字符串进行分割,分割后的内容将会生成一个数组.在NSString中有两个分割字 ...

  9. Swift3&period;0语言教程字符串大小写转化

    Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...

随机推荐

  1. 对rxandroid的简单理解

    最近发现这个rxandroid挺火的,我就研究了一下,还真的挺不错. 首先在说之前可能很多人会和我刚刚学习的时候一样有很多疑问,如: 1:rxandroid是什么东西? 2:rxandroid能干嘛? ...

  2. 堆优化的Dijkstra

    SPFA在求最短路时不是万能的.在稠密图时用堆优化的dijkstra更加高效: typedef pair<int,int> pii; priority_queue<pii, vect ...

  3. &period;net mvc------下拉列表DropDownList控件------绑定数据

    下拉列表 以性别为例 绑定可以了,可以显示了,但有些地方就能传值,有些地方就会出错提示,如有大神请指教.... 错误如下: 具有键"sex"的 ViewData 项属于类型&quo ...

  4. iframe 父页面与子页面之间的方法的相互调用

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. SpringMVC源码情操陶冶-ResourcesBeanDefinitionParser静态资源解析器

    解析mvc:resources节点,控制对静态资源的映射访问 查看官方注释 /** * {@link org.springframework.beans.factory.xml.BeanDefinit ...

  6. BZOJ 1770&colon; &lbrack;Usaco2009 Nov&rsqb;lights 燈 &lbrack;高斯消元XOR 搜索&rsqb;

    题意: 经典灯问题,求最少次数 本题数据不水,必须要暴搜*元的取值啦 想了好久 然而我看到网上的程序都没有用记录now的做法,那样做遇到*元应该可能会丢解吧...? 我的做法是把*元保存下来,枚 ...

  7. Mysql使用information&period;shema&period;tables查询数据库表大小

    简介: information_schema数据库中的表都是只读的,不能进行更新.删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件. 元数据描述数据的数据,用于描 ...

  8. 最具有性价比的语言javascript之二,学习篇

    先祝福各位,国庆假期愉快!前面写了一篇 最具有性价比的语言javascript之介绍篇,引起了不少的争议. 有些人javascript吐槽,埋怨.我目前做的都是后台系统.每个人的工作经历和兴趣爱好不一 ...

  9. 一直误解的memset函数

    1.“想当然”导致的后果 今天犯了一个十分低级的错误,在对一个整型数组用memset进行初始化设置所有元素值为1.可是结果却大出所料,很意外啊!接着,我就做了代码测试. #include <io ...

  10. R学习笔记 ---- 系列文章

    R实战 开篇:介绍R的使用 R学习笔记 第五篇:字符串操作 R学习笔记 第六篇:数据变换和清理 R学习笔记 第四篇:函数,分支和循环 R学习笔记 第三篇:数据框 R学习笔记 第二篇:矩阵.数组和列表 ...