Character
声明
@frozen struct Character
概述
Character
类型表示由一个或多个 Unicode 标量值组成的字符,按 Unicode 边界算法分组。通常,Character
实例匹配字符串的读者将感知为单个字符的内容。字符串是Character
实例的集合,因此可见字符的数量通常是计算字符串长度的最自然方法。
let greeting = "Hello! 🐥"
print("Length: \(greeting.count)")
// Prints "Length: 8"
因为字符串中的每个字符都可以由一个或多个 Unicode 标量值组成,所以字符串中的字符数可能与 Unicode 标量值表示的长度或特定二进制表示中字符串的长度不匹配。
print("Unicode scalar value count: \(greeting.unicodeScalars.count)")
// Prints "Unicode scalar value count: 8"
print("UTF-8 representation count: \(greeting.utf8.count)")
// Prints "UTF-8 representation count: 11"
每个 Character
实例都由一个或多个 Unicode 标量值组成,这些值组合在一起作为 extended grapheme cluster
。这些标量值的分组方式由规范的、本地化的或以其他方式定制的 Unicode 分段算法定义。
例如,一个国家/地区的 Unicode 标志字符由对应于该国家/地区的 ISO 3166-1 alpha-2 代码的两个区域指标标量值组成。美国的 alpha-2 代码是 “US”,因此它的标志字符由 Unicode 标量值 "\u{1F1FA}"
(地区指示符符号字母 U)和 "\u{1F1F8}"
(地区指示符符号字母 S)组成。当在字符串文字中彼此相邻放置时,这两个标量值将组合成单个字素簇,在 Swift 中由 Character
实例表示。
let usFlag: Character = "\u{1F1FA}\u{1F1F8}"
print(usFlag)
// Prints "🇺🇸"
有关此讨论中使用的 Unicode 术语的更多信息,请参阅Unicode.org glossary。特别是,这个讨论提到了 extended grapheme clusters 和 Unicode scalar values 。
可用版本
相关用法
- Swift Character lowercased()用法及代码示例
- Swift Character init(extendedGraphemeClusterLiteral:)用法及代码示例
- Swift Character init(_:)用法及代码示例
- Swift Character ..<(_:)用法及代码示例
- Swift Character asciiValue用法及代码示例
- Swift Character description用法及代码示例
- Swift Character wholeNumberValue用法及代码示例
- Swift Character ...(_:_:)用法及代码示例
- Swift Character ...(_:)用法及代码示例
- Swift Character hexDigitValue用法及代码示例
- Swift Character uppercased()用法及代码示例
- Swift Character ..<(_:_:)用法及代码示例
- Swift CollectionDifference firstIndex(of:)用法及代码示例
- Swift Collection prefix(upTo:)用法及代码示例
- Swift ContiguousArray forEach(_:)用法及代码示例
- Swift CollectionOfOne contains(_:)用法及代码示例
- Swift ClosedRange.Index ..<(_:)用法及代码示例
- Swift Collection first用法及代码示例
- Swift ContiguousArray insert(contentsOf:at:)用法及代码示例
- Swift ClosedRange index(_:offsetBy:)用法及代码示例
- Swift CollectionOfOne compactMap(_:)用法及代码示例
- Swift CollectionDifference contains(where:)用法及代码示例
- Swift CollectionOfOne last(where:)用法及代码示例
- Swift Collection dropLast(_:)用法及代码示例
- Swift ContiguousArray reserveCapacity(_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Character。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。