Swift2: String
27 October 2015
- SwiftのCharacterはUnicode extended grapheme clustersを保持するデータ構造なので、例えば「が」の場合一文字で「が」単体なのか「か」と「゛」の組みなのかは問わずひとつのCharacterとして扱う。(OS Xの闇を感じる)
- Characterの性質から、Stringのcharactersプロパティは文字数を計算するために文字列を全部舐める必要があるので、長い文字列で文字数を計算するときは注意が必要。
- 文字列の比較はcanonically equivalent。「が」が単体か組みかをとわず「が」なら同じ扱い。
- 文字列からUnicodeの表現を得るには、utf8、utf16、unicodeScalarsプロパティを使う。それぞれUInt8、UInt16、UnicodeScalarのコレクションが得られる。