[Swift]URL编码|CharacterSet字符集

2024-08-20 22:38

本文主要是介绍[Swift]URL编码|CharacterSet字符集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

URL编码

import UIKitclass SchoolDetailVC: BaseController {var webView: WKWebView!override func viewDidLoad() {super.viewDidLoad()}/// 自定义字符集private func loadRequsetOne(with openUrl: String) {let charSet = CharacterSet.urlQueryAllowed as NSCharacterSetlet mutSet = charSet.mutableCopy() as! NSMutableCharacterSetmutSet.addCharacters(in: "!*'();:@&=+$,/?%#[]")let encodingURL = openUrl.addingPercentEncoding(withAllowedCharacters: mutSet as CharacterSet)!if let url =  URL(string: encodingURL) {webView.load( URLRequest(url: url))} else {}}/// 系统提供的字符集private func loadRequsetTwo(with openUrl: String) {let encodingURL = openUrlif (verifyUrl(urlString: openUrl) == false) {encodingURL = openUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!}if let url =  URL(string: encodingURL) {webView.load( URLRequest(url: url))} else {}}// 验证URL的有效性func verifyUrl (urlString: String?) -> Bool {if let urlString = urlString {if let url = NSURL(string: urlString) {return UIApplication.shared.canOpenURL(url as URL)}}return false}}

CharacterSet(字符集)

CharacterSet.alphanumerics        	// 字母和数字的组合,包含大小写, 不包含小数点
CharacterSet.decimalDigits         	// 0-9的数字,也不包含小数点
CharacterSet.controlCharacters     	// ASCII 码0-31号字符,详见http://ascii.cl/control-characters.htmCharacterSet.whitespaces            // 空格
CharacterSet.whitespacesAndNewlines // 空格和换行
CharacterSet.letters               	// 所有英文字母,包含大小写 65-90 97-122
CharacterSet.lowercaseLetters      	// 小写英文字母 97-122
CharacterSet.uppercaseLetters      	// 大写英文字母 65-90// 通用字符类别划分详见 https://msdn.microsoft.com/zh-cn/library/20bw873z(v=vs.110).aspxCharacterSet.nonBaseCharacters     	// Returns a character set containing the characters in Unicode General Category M*.
CharacterSet.decomposables          // 没搞懂,也没用过,同音字母可以用这个?
CharacterSet.illegalCharacters    	// 不合规字符,没有在Unicode 3.2 标准中定义的字符
CharacterSet.punctuationCharacters 	// 标点符号,连接线,引号什么的 P*
CharacterSet.symbols               	// 符号,包含S* 所有内容,运算符,货币符号什么的
CharacterSet.capitalizedLetters    	// 字母,首字母大写,Lt类别
CharacterSet.newlines             	// 返回一个包含换行符的字符集,`U+000A ~ U+000D`, `U+0085`, `U+2028`, and `U+2029`
CharacterSet.urlHostAllowed        	// URL 中Host子模块中允许的字符集. "#%/<>?@\^`{|}"
CharacterSet.urlPathAllowed        	// URL 中domain后面的路径子模块中允许的字符集. "#%;<>?[\]^`{|}"
CharacterSet.urlUserAllowed        	// URL 中用户子模块中允许的字符集. "#%/:<>?@[\]^`"
CharacterSet.urlQueryAllowed      	// URL中请求信息子模块中允许的字符集. "#%<>[\]^`{|}"
CharacterSet.urlFragmentAllowed     // 片段URL子模块中允许的字符集. "#%<>[\]^`{|}"
CharacterSet.urlPasswordAllowed     // URL中密码子模块中允许的字符集. "#%/:<>?@[\]^`{|}"

TO

iOS CharacterSet(字符集)简单理解

https://blog.csdn.net/ZY_FlyWay/article/details/88795367

IOS 文本操作笔记——CHARACTERSET

https://blog.csdn.net/xiaobo0134/article/details/111885612

这篇关于[Swift]URL编码|CharacterSet字符集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091374

相关文章

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

form表单提交编码的问题

浏览器在form提交后,会生成一个HTTP的头部信息"content-type",标准规定其形式为Content-type: application/x-www-form-urlencoded; charset=UTF-8        那么我们如果需要修改编码,不使用默认的,那么可以如下这样操作修改编码,来满足需求: hmtl代码:   <meta http-equiv="Conte

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如下: 1、问题及过程: (myenv) D:\Workspace\python\XXXXX>conda install python=3.6.13 Solving environment: done.....Proceed ([y]/n)? yDownloa

4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)

一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最优预览尺寸以及打印相机参数信息 二、Camera 工具类 CameraIdResult.java public class CameraIdResult {

Python字符编码及应用

字符集概念 字符集就是一套文字符号及其编码的描述。从第一个计算机字符集ASCII开始,为了处理不同的文字,发明过几百种字符集,例如ASCII、USC、GBK、BIG5等,这些不同的字符集从收录到编码都各不相同。在编程中出现比较严重的问题是字符乱码。 几个概念 位:计算机的最小单位二进制中的一位,用二进制的0,1表示。 字节:八位组成一个字节。(位与字节有对应关系) 字符:我们肉眼可见的文字与符号。

使用http-request 属性替代action绑定上传URL

在 Element UI 的 <el-upload> 组件中,如果你需要为上传的 HTTP 请求添加自定义的请求头(例如,为了通过身份验证或满足服务器端的特定要求),你不能直接在 <el-upload> 组件的属性中设置这些请求头。但是,你可以通过 http-request 属性来自定义上传的行为,包括设置请求头。 http-request 属性允许你完全控制上传的行为,包括如何构建请求、发送请

在Eclipse环境下修改Tomcat编码的问题

问题: 由于BMS需要设置UTF-8编码,要不就会出现中文乱码问题; 一、项目保持UTF-8格式; 二、由于可能会多次移除项目、加载项目,不想每次都要修改tmp0\conf 原因: 如果在eclipse中配置了tomcat后,其实,tomcat所用的所有tomcat配置文件,都不是catalina_home/config下面的xml文件,而是在eclipse所创建的Serve

在Unity环境中使用UTF-8编码

为什么要讨论这个问题         为了避免乱码和更好的跨平台         我刚开始开发时是使用VS开发,Unity自身默认使用UTF-8 without BOM格式,但是在Unity中创建一个脚本,使用VS打开,VS自身默认使用GB2312(它应该是对应了你电脑的window版本默认选取了国标编码,或者是因为一些其他的原因)读取脚本,默认是看不到在VS中的编码格式,下面我介绍一种简单快

url参数中带有号,需要用先把url做个解析,使其方便在网络上传递

需求:提交异步通知地址给宝付的投标接口,发现投标成功后,异步通知地址没有被调用 排查:通过和宝付技术对接,发现是203,地址重定向错误。深入排查,发现异步通知返回的地址中&号之后的参数宝付没有收到 结论:表单提交的参数中的异步通知地址中的&号没有做urlencode()处理导致传递丢失参数。 地址参数中带有&号,java在做提交的时候,不能正确传递&,导致地址中&之后的内容丢失。故此需要ur