是否有大写和小写的Unicode字母?

时间:2012-01-21 09:42:57

标签: java unicode

是否存在代表字母但既不是大写也不是小写的Unicode代码点?

特别是Java函数java.lang.Character.isLetter将返回true的字符,但java.lang.Character.isUpperCasejava.lang.Character.isLowerCase将返回false?

3 个答案:

答案 0 :(得分:5)

为自己测试一下是微不足道的:

public class Test {
  public static void main(String[] args) {
    for (int i = Character.MIN_CODE_POINT;
         i <= Character.MAX_CODE_POINT;
         i++) {
      if (Character.isLetter(i) &&
          !Character.isUpperCase(i) &&
          !Character.isLowerCase(i)) {
        System.out.printf("%04x %c%n", i, i);
      }
    }
  }
}

你会发现写出了很多条目。

答案 1 :(得分:3)

并非所有脚本都具有大写和小写字母的概念,例如Thai。您应该发现Java API镜像了标准中定义的Unicode数据。例如,请查看http://www.fileformat.info/info/unicode/char/e06/index.htm

处的泰语字母kho rakhang

答案 2 :(得分:0)

其中大部分。例如汉字。如果你检查http://docs.oracle.com/javase/tutorial/i18n/text/charintro.html isLetter返回true,但它们既不是小写也不是大写。