UnicodeString
默认情况下使用UTF-16进行存储。这就是为什么它只有 fromUTF8
和 fromUTF32
: :从UTF-16起,没有进行转换。
它确实复制数据。这是一个拥有的字符串,很像 std::string
.
您可以使用 UCharIterator
如果您不想复制数据。 UChar
是16位值. 。您可以强迫它是您喜欢通过定义的16位类型 UCHAR_TYPE
宏:
如果是#defined(例如,为char16_t),则将UCHAR定义为UCHAR_TYPE,如果是16位,则将UCHAR定义为uchar_type。始终认为是未签名的。
如果两者都不可用,则将UCHAR定义为UINT16_T。
这使得UCHAR平台依赖性的定义允许与具有16位WCHAR_T类型的平台的直接字符串类型兼容性。