OC中的NSString和Swift中的String (一)
文档更新说明
- 最后更新 2018年03月12日
- 首次更新 2018年03月12日
前言
本文用于记录我在使用这两者过程中的一些想法,不包含所有内容.
另外要知道一点基础知识: Unicode是字符集,类似一部字典,里面说明了每一个字符对应的编码数值; 而UTF8,UTF16全称是Unicode Transformation Format,就是Unicode的编码格式.编码格式规定了把Unicode字符存储在物理存储上(简单说就是磁盘SSD等)的格式.
读取NSString和String的内容
字符串长度
NSString的数据存储格式为UTF–16, 我们平时使用的length属性, 返回的值就是字符串采用UTF–16编码的时候所需要的编码单元(code units)数量,而不一定是人类可见字符串的实际字符个数.请看下面例子:
1 | NSString *str = @"Cafe\u0301 du 👍"; |
我们在Swift里面做同样的事情,看看会有什么区别
1 | let cafe: String = "Cafe\u{301} du 👍" |