Swift NSString的长度属性

Swift NSString的长度属性,swift,Swift,count属性返回的字符计数并不总是与包含相同字符的NSString的length属性相同。NSString的长度基于字符串的UTF-16表示中的16位代码单元数,而不是字符串中的Unicode扩展图形集簇数。 有人能用简单的例子解释一下吗?当创建NSString时,大多数Unicode字符都可以用一个UTF-16代码单元来表示(好吧,UCS-2,但足够接近),因此可以合理地假设UTF-16长度与字符串长度相同。因为毕竟,我们怎么可能需要超过65536个字符呢?是的,世界上有很多语言,但6553

count属性返回的字符计数并不总是与包含相同字符的NSString的length属性相同。NSString的长度基于字符串的UTF-16表示中的16位代码单元数,而不是字符串中的Unicode扩展图形集簇数。
有人能用简单的例子解释一下吗?

当创建
NSString
时,大多数Unicode字符都可以用一个UTF-16代码单元来表示(好吧,UCS-2,但足够接近),因此可以合理地假设UTF-16长度与字符串长度相同。因为毕竟,我们怎么可能需要超过65536个字符呢?是的,世界上有很多语言,但65536仍然是一个可怕的数字,而且


为什么在Swift中使用
NSString
而不是
String
?我知道这一点,但正如文档中所述。请参阅示例–向下滚动至“取决于您的观点”
NSString
没有
count
属性。你指的是什么?请澄清您的问题。我混淆了字符串计数属性和Nsstring length属性。两者都有不同的计数方法。现在一切都清楚了。