https://docs.oracle.com/en/ja...Java版本与Unicode版本对应关系JavaSE11Unicode10.0JavaSE9Unicode8.0JavaSE8Unicode6.2JavaSE7Unicode6.0JavaSE5.0Unicode4.0JavaSE1.4Unicode3.0JDK1.1Unicode2.0JDK1.0.2Unicode1.1.5Unicode一致的char类型和封装类java.lang.Character字段和方法是根据Unicode标准中的字符信息来定义的,具体来说就是UnicodeData文件,它是UnicodeCharacter的一部分数据库。此文件为每个分配的Unicode代码点或字符范围指定属性,包括名称和类别。该文档可从UnicodeConsortiumhttp://www.unicode.org获得。Unicode字符表示char数据类型(以及对象封装的值)。字符基于原始的Unicode规范,该规范将字符定义为固定宽度的16位实体。从那时起,Unicode标准已更改为允许表示需要超过16位的字符。合法代码点的范围现在是U+0000到U+10FFFF,称为Unicode标量值。(请参阅Unicode标准中U+n符号的定义。)从U+0000到U+FFFF的字符集有时称为基本多语言平面(BMP)。代码点大于U+FFFF的字符称为增补字符。Java平台对char数组以及String和StringBuffer类使用UTF-16表示。在此表示中,增补字符表示为一对char值,第一个来自高代理项范围(\uD800-\uDBFF),第二个来自低代理项范围(\uDC00-\uDFFF)。因此,一个char值表示一个基本多语言平面(BMP-BasicMultilingualPlane)代码点,包括代理代码点或UTF-16编码代码单元。表示所有Unicode代码点的int值,包括补充代码点。表示一个Unicode码位,低21位为整数类型int,高11位必须为零。除非另有说明,关于增补字符和代理项char值的行为如下:仅接受char值的方法不支持增补字符。它们将char代理项范围内的值视为未定义字符。例如,Character.isLetter('\uD840')返回false,即使此特定值后跟字符串中任何较低的代理值代表一个字母。接受int值的方法支持所有Unicode字符,包括增补字符。例如,Character.isLetter(0x2F81A)返回true,因为代码点值表示一个字母(CJK表意文字)。在JavaSEAPI文档中,Unicode代码点(Unicodecodepoint)用于U+0000到U+10FFFF范围内的字符值,Unicode代码单元(Unicodecodeunit)用于代码单元的16位UTF-16编码的字符位值。有关Unicode术语的更多信息,请参阅Unicode词汇表。小结看完以上文档,你能回答出题目中的问题吗?欢迎在评论中写下你的答案
