java里char为什么能够存储一个汉字

如题所述

首先要分析char这个容器的大小和一个汉字的大小.

其次,要分析汉字的大小就要分析编码方式和编码字符集.
1.Java默认的编码字符集unicode(我的理解是一个文字容器),而Java的编码方式却有很多.例如:utf-8,utf-16,gbk,gb2312等.而编码方式是一个解码工具,目的是在unicode的字符集中寻找一个对应的字符(我的理解是编码方式是快递员).而对于中文来说,编码方式的承载方面各有不同.utf-8:一个中文占用三个字节,utf-16:一个中文占2个字节;gbk(中国人的编码方式)一个汉字2个字节等.
2.char的容量有多少了?java和c++不同char可以容下两个字节(c++一个)所以char的容量是一定的,能否存下一个汉字要看编码方式了.
3.综上所述:当启用utf-8编码方式时char就存不下一个汉字了
温馨提示:答案为网友推荐,仅供参考