是UTF-16吗? 32?还有别的吗?
我想查看性能原因,因为我将很多字符串从UTF-8转换为“native NSString
”,性能损失似乎落在__CFFromUTF8
上,这是一个内置的转换功能。顺便说一句:我只是猜测NSUnicodeStringEncoding
是内部使用的,因为NSString
的{{1}}返回该值(即对于国际字符串;当使用ANSI时,返回MacRomans)。
答案 0 :(得分:2)
使用dataUsingEncoding:
进行测试表明NSUnicodeStringEncoding
是小端UTF-16,前面带有字节顺序标记(在模拟器和实际设备上),Apple的String Programming Guide for Cocoa表示“NSString对象”在概念上是UTF-16,具有平台字节序“,所以我认为假设UTF-16在内部使用是合理的。
(同样的指南继续说“这并不一定意味着他们的内部存储机制”,所以他们将来完全保留改变这一点的权利)