【发布时间】:2018-06-25 14:08:12
【问题描述】:
我有一个字符串,我想对其进行迭代并提取“字符”。然而,这个字符串是日文的,一些“字符”的长度是两个字符而不是一个。
例如“?????????”是一个长度为 4 的字符串。每个 Unicode 字符跨越 2 个字符的长度。
如何从该字符串中提取代表单词的每个子字符串?在这种情况下,String.charAt(int i) 将不起作用。
【问题讨论】:
-
Character.codePointAt() -
@AniketSahrawat:
String也有一个codePointAt()方法。另请查看String.offsetByCodePoints()。 -
UTF-16 代码单元和Unicode 代码点之间的区别不仅与某些脚本块有关,而且通常与现代文本有关。例如, ????音乐, ????数学,????符号,????表情符号,…????,…????,…???? .
标签: java string unicode character-encoding cjk