[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

相关文章

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

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 {