Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
Unicode 是一种计算行业标准,旨在对全世界书面语言中使用的字符进行一致且唯一的编码。Unicode 标准使用十六进制表示字符。例如,值 0x0041 表示拉丁字符 A. Unicode 标准最初使用 16 位来设计字符,因为主要计算机是 16 位 PC。
创建 Java 语言规范时,接受 Unicode 标准,并将 char
基本类型定义为 16 位数据类型,十六进制范围内的字符范围为 0x0000 到 0xFFFF。
由于 16 位编码支持 216(65,536)个字符,这不足以定义全世界使用的所有字符,因此 Unicode 标准扩展为 0x10FFFF,支持超过一百万个字符。Java 编程语言中字符的定义无法从 16 位更改为 32 位,否则会导致数百万 Java 应用程序无法正常运行。为了纠正定义,开发了一种方案来处理无法以 16 位编码的字符。
值超出 16 位范围且在 0x10000 到 0x10FFFF 范围内的字符称为 supplementary characters (补充字符),并定义为一对 char
值。
本课包括以下部分: