char 型变量中能不能存贮一个中文汉字?为什么?

在c语言中,char类型占一个字节,而汉字占两个字节,所以不能存储。

在java语言中,char类型占两个字节,而java默认采用Unicode码是16位,所以一个Unicode码占两个字节,java中无论汉字还是英文都是用Unicode编码来表达的,所以可以存储一个汉字。

1Byte(字节) = 8bit (位)

1024 byte = 1kb

1024kb =1mb

1024mb = 1gb

1024gb = 1t


   在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit)

   在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit)

   在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit)

能够定义成为一个中文的,因为 java 中以 unicode 编码,一个 char 占 16 位,所
以放一个中文是没问题的(一个汉字占2个字节)

原文地址:https://www.cnblogs.com/miniSimple/p/12267868.html