Unicode BreakIterator ICU-获取grapheme集群的字节长度

Unicode BreakIterator ICU-获取grapheme集群的字节长度,unicode,iterator,icu,Unicode,Iterator,Icu,使用ICU的BreakIterator时,是否有方法检索输入字符串第n个边界处grapheme集群的字节长度(或代码单位长度)?理想情况下,使用最少的API调用。自动应答: 如果您知道当前的代码单位索引,那么可以使用ICU::ubrk\U current()返回ICU::ubrk\U next()最近返回的cude单位索引。 见: 我对UBREAKITOR方法描述中的模糊性感到困惑。但是,在联系ICU支持人员后,“字符索引”在本例中等同于代码单元索引 有了这些信息,一个简单的实现如下所示: (u

使用ICU的BreakIterator时,是否有方法检索输入字符串第n个边界处grapheme集群的字节长度(或代码单位长度)?理想情况下,使用最少的API调用。

自动应答:

如果您知道当前的代码单位索引,那么可以使用ICU::ubrk\U current()返回ICU::ubrk\U next()最近返回的cude单位索引。 见:

我对UBREAKITOR方法描述中的模糊性感到困惑。但是,在联系ICU支持人员后,“字符索引”在本例中等同于代码单元索引

有了这些信息,一个简单的实现如下所示:

(ubrk_current(m_breakIterator) - currentIndexInCodeUnits) * INTERNAL_ENCODING_BYTE_LENGTH;