首页 > Java中char只有两个字节,总共才6万多个数值,如何表示所有的汉子?并且我测试了也可以存放日语的一个字或者韩语的

Java中char只有两个字节,总共才6万多个数值,如何表示所有的汉子?并且我测试了也可以存放日语的一个字或者韩语的

char既然代表了一个字符,就应该能存放所有的字符才对呀,加上乱七八糟的各国语言字符,总不能char只能存放 中日韩的单个字符吧?


Java 才用的是 Unicode 编码,所以 char 可以存中文,Unicode 是什么呢?
Unicode(中文:万国码、国际码、统一码、单一码)是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。

Unicode伴随着通用字符集的标准而发展,同时也以书本的形式[1]对外发表。Unicode至今仍在不断增修,每个新版本都加入更多新的字符。目前最新的版本为2015年6月17日公布的8.0.0[1],已收入超过十万个字符(第十万个字符在2005年获采纳)。Unicode涵盖的数据除了视觉上的字形、编码方法、标准的字符编码外,还包含了字符特性,如大小写字母。
以上来至于维基百科 unicode-维基百科

以上不难看出 Unicode 里面的东西不是白来的,需要 Unicode 的组织去收录,而现在仅仅收录了一些中日韩的字符,而且也不一定收录齐全,然后 Java 又是使用的 Unicode 所以只要 Unicode 组织收录了 Java 就会支持这些字符。
答得不怎么好。


当utf-8不够时,还有utf-16

http://baike.baidu.com/link?url=nkV9FQlo3zIu25zKLF3M1Pjp3Y6377hPnesTlnNqHb19cbkdV4P6JX9_FtCWPQ97j7BukgEZ0TBb66uqEn8rpK

char使用2个字节存储的,因为字符+标点用2个字节表示字符绰绰有余,但是如果加上其它非英语体系的文字,中文等可能就不够,如果用4个字节表示一个字符呢,能表示的范围就会扩大,8个字节理论上也是可以的
Unicode字符集标准就应运而生了

java中字符使用Unicode编码,16位

【热门文章】
【热门文章】