JAVA中的Unicode是什么意思?比如char b='\u003a',为什么输出为空?
书上的解释:Unicode编码字符是用16位无符号整数表示的,既有2^16个可能值。
就是说Unicode编码是用16位无符号的二进制数来进行编码的 0000 0000 0000 0001,这16位二进制就对应一个字符,无符号位就是说都是正整数,在二进制中一般以1开头的一串二进制是负数,以0开头的一串二进制数是正数,所以一般二进制的第一位就是他的符号位,无符号就是不考虑这种情况,一位二进制有两种可能不是0就是1,那两位二进制就有四种可能,00,01,10,11,即两位的二进制就能编码出4种字符,所以一次类推,16位就能编码出2^16种字符
char b='\u003a' 这句当中的003a,应该是一个十六进制的地址,对应着Unicode编码表中的“:”,这个字符。我想应该是这样。 |