原语类型char的值在java中指的是哪个Unicode表?

原语类型char的值在java中指的是哪个Unicode表?,java,Java,我想找到java中原语类型char值的代码表,我听说java在内部使用Unicode。原语类型char的值在java中指的是哪个Unicode表?如中所述: 创建Java语言规范时,Unicode 标准被接受,字符原语被定义为16位 数据类型,字符的十六进制范围为0x0000到 0xFFFF 因为16位编码支持216 65536个字符,这不足以定义全世界使用的所有字符, Unicode标准扩展到0x10FFFF,它支持一个以上的 百万个字符。Java语言中字符的定义 无法将编程语言从16位更改为

我想找到java中原语类型char值的代码表,我听说java在内部使用Unicode。原语类型char的值在java中指的是哪个Unicode表?

如中所述:

创建Java语言规范时,Unicode 标准被接受,字符原语被定义为16位 数据类型,字符的十六进制范围为0x0000到 0xFFFF

因为16位编码支持216 65536个字符,这不足以定义全世界使用的所有字符, Unicode标准扩展到0x10FFFF,它支持一个以上的 百万个字符。Java语言中字符的定义 无法将编程语言从16位更改为32位 不会导致数百万Java应用程序不再运行 正确地为了纠正定义,制定了一个方案来处理 无法用16位编码的字符

将调用值在16位范围之外且在0x10000到0x10FFFF范围内的字符 补充字符和定义为一对字符值

检查unicode字符表。

如中所述:

创建Java语言规范时,Unicode 标准被接受,字符原语被定义为16位 数据类型,字符的十六进制范围为0x0000到 0xFFFF

因为16位编码支持216 65536个字符,这不足以定义全世界使用的所有字符, Unicode标准扩展到0x10FFFF,它支持一个以上的 百万个字符。Java语言中字符的定义 无法将编程语言从16位更改为32位 不会导致数百万Java应用程序不再运行 正确地为了纠正定义,制定了一个方案来处理 无法用16位编码的字符

将调用值在16位范围之外且在0x10000到0x10FFFF范围内的字符 补充字符和定义为一对字符值

检查unicode字符表。

Java使用字符串。在UTF-16方案中,每个字符是一个16位代码单元。对于基本多语言平面U+0000到U+FFFF中的代码点,值相同。此范围的一部分保留给代理项对,代理项对允许UTF-16表示BMP以上的值

要获取任何字符的代码点值,可以使用以下代码点方法之一:

public class PrintCodePoints {
  public static void main(String[] args) {
    String test = "e\u0301\uD835\uDD0A\u20AC";
    for (int i = 0; i < test.length(); i++) {
      int codePoint = test.codePointAt(i);
      if (codePoint > 0xFFFF) {
        i++;
      }
      System.out.format("U+%04x%n", codePoint);
    }
  }
}
此代码打印文本字符串é的代码点值