當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Swift Character用法及代碼示例

結構

Character

近似於user-perceived 字符的單個擴展字素簇。

聲明

@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 clustersUnicode scalar values

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Character。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。