由于程序要求(快速访问单个字符),我正在使用uint32_t[]
字符。只存储代码点,而不是 UTF-32代码单元。因为我不认为 UTF-32 代码单元和 Unicode 代码点是一回事,所以我必须将它们分开。
代码点取自next32PostInc
函数
而且我需要使用 将这些代码点编码为 UTF-8 块libICU
,而且很难找到字符级累积编码器。我看到了一种使用方法UnicodeString::append()
,但它需要双重转换。ucnv_convert
函数似乎可以完成这项工作,但只能使用 UTF-32代码单元。如果我将它们与代码点一起使用,我真的不确定安全性。目前我正在寻找与next32PostInc
功能相反的东西。我怎样才能做到这一点?如果我对代码点和代码单元的想法,请纠正我。