Character类提供一些方法,比如:(小写字母、数字等),并用于大小写转换。Character基于Unicode标准。
Java平台使用UTF-16表示Char、String、StringBUffer类。
目前Unicode字符分为17组编排,从0X0000到0x10FFFF,每组有65536个码位,共1114112个码位。
基本多文种平面(第零平面)BMP范围:U+0000到U+FFFF,共65536个码位。
BMP中有一个专用区范围:0xE000到0xF8FF,共6400个码位。其中0xD800到0xDFFF,这2048个码位叫代理区。代理区的目的是用2个UTF-16字符表示BMP以外的字符,所以大于0x00FFFF的码位都需要使用代理区的码点。
代理区分为高位替代和低位替代,0xD800到0xDBFF为高位替代区,0xDC00到0xDFFF为低位替代区。
由于Unicode的最大码位为0x10FFFF,0xFFFF之前的(65536个码位)使用2个字节表示,0xFFFF之后(1048575(0xFFFFF)个码位)仅需要20位二进制就可以表示,因此规定多余的12位,高位字节前6位为:110110,低位字节前6位为:110111。
Character类将基本类型char包装在一个对象中
1、内部类、枚举
public static class Subset |
Unicode字符集子类 |
public static final class UnicodeBlock extends Subset |
根据Unicode硬编码范围划分 |
public static enum UnicodeScript |
根据语言书写规则对Unicode字符划分 |
2、常量
public static final int MIN_RADIX = 2; |
最小基数 |
public static final int MAX_RADIX = 36; |
最大基数 |
public static final char MIN_VALUE = '\u0000'; |
最小值 |
public static final char MAX_VALUE = '\uFFFF'; |
最大值 |
public static final byte UNASSIGNED = 0; |
通用 Unicode规范 |
...... |
|
public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18; |
|
public static final char MIN_HIGH_SURROGATE = '\uD800'; |
高位代理区最小值 |
public static final char MAX_HIGH_SURROGATE = '\uDBFF'; |
高位代理区最大值 |
public static final char MIN_LOW_SURROGATE = '\uDC00'; |
低位代理区最小值 |
public static final char MAX_LOW_SURROGATE = '\uDFFF'; |
低位代理区最大值 |
public static final char MIN_SURROGATE = MIN_HIGH_SURROGATE; |
代理区最小值 |
public static final char MAX_SURROGATE = MAX_LOW_SURROGATE; |
代理区最大值 |
public static final int MIN_SUPPLEMENTARY_CODE_POINT = 0x010000; |
补充码点最小值 |
public static final int MIN_CODE_POINT = 0x000000; |
代码点最小值 |
public static final int MAX_CODE_POINT = 0X10FFFF; |
代码点最大值 |
private final char value; |
|
3.1、Subset类
public final boolean equals(Object obj) |
|
public final int hashCode() |
|
public final |