如何在Java中规范化Unicode数字

是否有任何
Java API将Unicode数字规范化为ASCII数字?

JDKICU4J中有一个规范化API似乎无法处理这种规范化(因为它可能在Unicode standard之前不被称为规范化)

我需要的是将所有形式的Unicode数字(listed in this post)转换为[0-9].对于从0到9的任何数字,一个可能的混乱解决方案是10替换全部.

最佳答案 Character.forDigit(…)和Character.digit(…)的组合应该有效.

public static char normalizeDigit(char c) {
  int d = Character.digit(c, 10);
  return (d >= 0) ? Character.forDigit(d, 10): c;
}

迭代所有角色.

点赞