char c[]={0xde};
byte b[] =String.valueOf(c).getBytes(Charset.forName("ISO-8859-1"));
经过测试默认的UTF-8字符集
System.out.println( Charset.defaultCharset().displayName());
byte b[] =String.valueOf(c).getBytes();转换后得到错误的结果
C3 9E
UTF-8编码
UNICODE | bit数 | UTF-8 | byte数 | 备注 |
0000 0000 ~ 0000 007F | 0~7 | 0XXX XXXX | 1 | |
0000 0080 ~ 0000 07FF | 8~11 | 110X XXXX 10XX XXXX | 2 | |
0000 0800 ~ 0000 FFFF | 12~16 | 1110 XXXX 10XX XXXX 10XX XXXX | 3 | 基本定义范围:0~FFFF |
0001 0000 ~ 001F FFFF | 17~21 | 1111 0XXX 10XX XXXX 10XX XXXX 10XX XXXX | 4 | Unicode6.1定义范围:0~10 FFFF |
0020 0000 ~ 03FF FFFF | 22~26 | 1111 10XX 10XX XXXX 10XX XXXX 10XX XXXX 10XX XXXX | 5 | |
0400 0000 ~ 7FFF FFFF | 27~31 | 1111 110X 10XX XXXX 10XX XXXX 10XX XXXX 10XX XXXX 10XX XXXX | 6 | |