如何遍历Java String的unicode代码点?
所以我知道String#codePointAt(int)
,但它是由char
偏移索引,而不是由代码点偏移索引。
我正在考虑尝试这样的事情:
使用String#charAt(int)
得到char
的指数
测试是否char
在高代理范围内
如果是这样,使用String#codePointAt(int)
获取代码点,并将索引增加2
如果不是,则使用给定char
值作为代码点,并将索引递增1
但我担心的是
我不确定自然处于高代理范围内的代码点是否会存储为两个char
值或一个值
这似乎是迭代字符的一种非常昂贵的方式
有人必须想出更好的东西。
DIEA
相关分类