直接访问Swift的UTF-16代码单元

时间:2016-10-05 04:23:23

标签: swift

我需要直接访问底层UTF-16代码单元以获取Swift字符串。虽然可以通过以下方式获得指向UTF-8 C字符的指针:

string.utf8CString.withUnsafeBufferPointer { utf8chars in
    ...
}

似乎没有任何UTF-16代码单元的等价物,这是奇怪的,因为Swift字符串在内部存储为UTF-16。

我最接近的是将UTF16视图包装在一个数组中:

ContiguousArray(string.utf16).withUnsafeBufferPointer { utf16units in
    ...
}

但这比直接访问代码单元要慢得多。

是否有一些隐藏的方法来获取我缺少的底层UTF-16代码单元?

0 个答案:

没有答案