首页 > 其他 > 详细

char 型变量中能不能存贮一个中文汉字

时间:2020-04-18 02:02:57      阅读:80      评论:0      收藏:0      [点我收藏+]

1、汉字所占的字节数

ASCII码:

英文字母(不分大小写)占一个字节

中文汉字占两个字节

二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。

UTF-8编码:

英文字符等于一个字节

中文(含繁体)三个字节

Unicode编码:

英文两个字节

中文(含繁体)两个字节

 

2、测试

  public static void main(String[] args) {
        char c1=‘早‘;
        System.out.println(c1);
        char c2=‘z‘;
        System.out.println(c2);
    }
早
z

char类型可以存储一个中文汉字,因为Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号),一个char类型占2个字节(16bit),所以可以放一个中文

技术分享图片

 

 一个char类型的变量在存放两个或三个汉字的时候就会报错

 

3、编码转换

使用Unicode意味着字符在JVM内部和外部有不同的表现形式,在JVM内部都是Unicode,当这个字符被从JVM内部转移到外部时(例如存入文件系统中),需要进行编码转换。所以Java中有字节流和字符流,以及在字符流和字节流之间进行转换的转换流,如InputStreamReader和OutputStreamReader,这两个类是字节流和字符流之间的适配器类,承担了编码转换的任务

 

char 型变量中能不能存贮一个中文汉字

原文:https://www.cnblogs.com/zhai1997/p/12723395.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!