【问题标题】:Maximum number of codepoints in a grapheme cluster字素簇中的最大代码点数
【发布时间】:2022-08-21 15:39:18
【问题描述】:

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

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

标签: c++ utf icu breakiterator grapheme-cluster


【解决方案1】:

可以构成字素簇的代码点数量是否有硬性上限?

不。一个字素簇(即用户感知的字符)包含多少个代码点没有硬性上限。

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

【讨论】:

    【解决方案2】:

    只是为接受的答案添加一个示例。

    例如,您可以使用此页面创建任意大的字素集群:

    https://glitchtextgenerator.com/

    例如,这里有一个“字母 X”,它在磁盘上占用 73 个字节:

    X

    我还创建了另一个接近 10 KB 的文件,但最好不要在此处发布此类怪物,因为它们可能会导致一些问题。根据软件,这些以有趣的方式呈现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-19
      • 2017-07-15
      • 2022-01-12
      • 1970-01-01
      • 2020-03-05
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      相关资源
      最近更新 更多