当使用来自ICU的BreakIterator时,是否有一种方法可以在输入字符串的第n个边界处检索字素集群的字节长度(或代码单位长度)?理想情况下,使用最少数量的API调用。
发布于 2015-03-06 00:12:37
自我回答:
如果您知道以代码单位表示的当前索引,那么可以使用ICU::ubrk_current()返回ICU::ubrk_next()最近返回的current索引。请参阅:8h.html#a4f8b67527c5c9d9205a3446506ffeefc
我对UBreakIterator方法描述中的含糊不清感到困惑。但是,在与ICU支持联系后,“字符索引”在这种情况下等同于代码单元索引。
有了这些信息,一个简单的实现如下:
(ubrk_current(m_breakIterator) - currentIndexInCodeUnits) * INTERNAL_ENCODING_BYTE_LENGTH;https://stackoverflow.com/questions/28304321
复制相似问题