我有一系列 Unicode 代码点。我真正需要做的是将这些代码点作为一系列字符而不是一系列代码点进行迭代,并确定每个单独字符的属性,例如是一个字母,等等。
例如,假设我正在编写一个支持 Unicode 的文本框,而用户输入了一个不止一个代码点的 Unicode 字符,例如“e with diacritic”。我知道这个特定的字符也可以表示为一个代码点,并且可以标准化为那种形式,但我认为在一般情况下这是不可能的。我怎样才能实现退格?它显然不能只擦除最后一个代码点,因为他们可能刚刚输入了多个代码点。
如何将一堆 Unicode 代码点作为字符进行迭代?
编辑:ICU 提供的 Break Iterators 似乎正是我所需要的。但是,我没有使用 ICU,因此任何关于如何实现我自己的等效功能的参考都是可以接受的答案。
另一个编辑:事实证明,Windows API 确实提供了这个功能。MSDN 只是不太擅长将所有字符串函数放在一个地方。CharNext是我正在寻找的功能。