我只是想知道Swift中的(反转)CharacterSet如何工作。
让我们假设我具有以下两个字符集:
let invertedNumbers = CharacterSet(charactersIn: "0123456789").inverted
let numbers = CharacterSet(charactersIn: "0123456789")
当我使用打印功能登录两个字符集时,
print(numbers)
它在控制台中显示的内容与
相同print(invertedNumbers)
那是
<CFCharacterSet Items(U+0030 U+0031 U+0032 U+0033 U+0034 U+0035 U+0036 U+0037 U+0038 U+0039)>
但是它们怎么可能完全一样?我很困惑,因为他们不是真的。当我问反向词是否包含“ a”时,它说 true 。另一方面,没有倒立的人说 false 。而且我喜欢它的工作方式,但是倒置伐木的记录不是越野车吗?
答案 0 :(得分:0)
反向字符集在Swift中也可以使用,尽管您无法真正打印出来。
例如,如果我想对一组字符进行百分比编码,那么我可以在POST中发送它:
let myPassword = "Hi+You?"
var charset1 = CharacterSet(charactersIn: "#%;<>?[\\]^'\"{|}&+")
let urlwithPercentEscapes = myPassword.addingPercentEncoding( withAllowedCharacters: charset1.inverted)
print(urlwithPercentEscapes)
当我打印urlwithPercentEscapes时,由于将显示“ withAllowedCharacters:charset1.inverted”,因此将对该字符组中的任何字符进行百分比编码。如果我使用“ withAllowedCharacters:charset1”,它将对不在该列表中的每个字符进行百分比编码。