字素簇中的最大代码点数

Maximum number of codepoints in a grapheme cluster

我正在使用 C++ ICU 库。我希望将一个 utf-8 字符串拆分成大致相等的块。但是,我希望在字素簇边界处划分块。我不希望将我的整个字符串转换为 utf-16 来执行此操作以提高内存和速度效率。相反,我想将靠近我估计的块边界的少量 utf-8 代码点转换为 utf-16。然后我可以使用 ICU 的 BreakIterator 计算出确切的边界。

组成字素簇的代码点数量是否有硬性上限?如果是这样,它是什么?我需要知道这一点,以便确定我需要从 utf-8 转换为 utf-16 的最小代码点。

Is there a hard upper limit of the number of codepoints that can make up a grapheme cluster?

没有。字素簇(即 user-perceived 字符)由多少代码点组成没有硬性上限。

例如,您可以重复添加带有连接字符的 ZERO WIDTH JOINER。