使用 Swift 5,您可以选择以下方法之一来获取字符的 ASCII 数字表示。
#1。使用Character 的asciiValue 属性
Character 有一个名为asciiValue 的属性。 asciiValue 有以下声明:
var asciiValue: UInt8? { get }
此字符的 ASCII 编码值,如果是 ASCII 字符。
以下 Playground 示例代码展示了如何使用 asciiValue 来获取
字符的ASCII编码值:
let character: Character = "a"
print(character.asciiValue) //prints: Optional(97)
let string = "a"
print(string.first?.asciiValue) //prints: Optional(97)
let character: Character = "?"
print(character.asciiValue) //prints: nil
#2。使用Character 的isASCII 属性和Unicode.Scalar 的value 属性
作为替代方法,您可以检查字符串的第一个字符是否为 ASCII 字符(使用 Character 的 isASCII 属性)然后获取其第一个 Unicode 标量的数字表示(使用 Unicode.Scalar 的value 财产)。下面的 Playground 示例代码显示了如何继续:
let character: Character = "a"
if character.isASCII, let scalar = character.unicodeScalars.first {
print(scalar.value)
} else {
print("Not an ASCII character")
}
/*
prints: 97
*/
let string = "a"
if let character = string.first, character.isASCII, let scalar = character.unicodeScalars.first {
print(scalar.value)
} else {
print("Not an ASCII character")
}
/*
prints: 97
*/
let character: Character = "?"
if character.isASCII, let scalar = character.unicodeScalars.first {
print(scalar.value)
} else {
print("Not an ASCII character")
}
/*
prints: Not an ASCII character
*/