playground上での表記です。
利用できる関数は3つあります。
1. utf16Count
・処理速度:最速
・絵文字 :1に対して,2と計算1,2,4など絵文字によって変化
"⏩".utf16Count // 1
"?".utf16Count // 2
"123".utf16Count // 3
"ABC".utf16Count // 3
"あいう".utf16Count // 3
2. countElements
・処理速度:2番目に早い
・絵文字 :1に対して1と計算
countElements("?") // 1
countElements("?") // 1
countElements("123") // 3
countElements("ABC") // 3
countElements("あいう") // 3
3. lengthOfBytesUsingEncoding
特徴
・処理速度:最も遅い
・平仮名と絵文字が読み込めない => 0
"?".lengthOfBytesUsingEncoding(NSStringEncoding.allZeros) // 0
"?".lengthOfBytesUsingEncoding(NSStringEncoding.allZeros) // 0
"123".lengthOfBytesUsingEncoding(NSStringEncoding.allZeros) // 3
"ABC".lengthOfBytesUsingEncoding(NSStringEncoding.allZeros) // 3
"あいう".lengthOfBytesUsingEncoding(NSStringEncoding.allZeros) // 0