char 汉字

时间:2023-03-09 15:58:45
char 汉字

  

Unicode/UCS总结:

UCS和Unicode使用最大32bit来表示字符(它的范围很大,但不一定全使用,常使的是UCS-2),它用2~4个字节的空间描述了已知的接近全部的字符(并且仍在更新,还会把笑脸之类的字符char 汉字也放入其中),
而通常使用的plane 0也就是UCS-2,使用2个字节描述了比较常用的字符,包括大量的CJK文字,所以大家平常能用到的字符大体都在UCS-2中包括了
需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储.
UTF
UCS/Unicode/Universal Transformation Format有多种transform方式,常见的有UTF-8/UTF-16/UTF-32。
UTF-8(将8bit看作一个单位):使用1~4个字节来编码,如,当时用UTF-8存储ASCII字符时就只用1个字节,相似其它字符按一定算法转换为1~4个字节。
UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。
UTF-16 将16bit看作一个单位
java中的char使用2Byte空间,它实际使用的是UCS-2 也就是plane 0,只能表述65536个字符