字符和字节的区别,以及byte和char的区别

🏷️ 26365 📅 2025-08-08 11:33:54 👤 admin 👀 4575 ❤️ 628
字符和字节的区别,以及byte和char的区别

字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。

字符(Character)计算机中使用的字母、数字、字和符号,比如'A'、'B'、'$'、'&'等。

一般在英文状态下一个字母或字符占用一个字节,一个汉字用两个字节表示。

字节与字符:

ASCII 码中,一个英文字母(不分大小写)为一个字节,一个中文汉字为两个字节。

UTF-8 编码中,一个英文字为一个字节,一个中文为三个字节。

Unicode 编码中,一个英文为一个字节,一个中文为两个字节。

符号:英文标点为一个字节,中文标点为两个字节。例如:英文句号 . 占1个字节的大小,中文句号 。占2个字节的大小。

UTF-16 编码中,一个英文字母字符或一个汉字字符存储都需要 2 个字节(Unicode 扩展区的一些汉字存储需要 4 个字节)。

UTF-32 编码中,世界上任何字符的存储都需要 4 个字节。

Byte & Char的区别

byte 是字节数据类型,是有符号型的,占1个字节;大小范围为-128—127.

char 是字符数据类型,是无符号型的,占2字节(Unicode码 );大小范围是0—65535;

char 是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。

通过代码示例来比较二者区别:

1、Char是无符号型的,可以表示一个整数,不能表示负数;而byte是有符号型的,可以表示-128—127 的数;如

char c = (char) -90; // char不能识别负数,必须强制转换否则报错,即使强制转换之后,也无法识别 .

System.out.println(c);

byte d1 = 1;

byte d2 = -1;

byte d3 = 127; // 如果是byte d3 = 128;会报错

byte d4 = -128; // 如果是byte d4 = -129;会报错

System.out.println(d1);

System.out.println(d2);

System.out.println(d3);

System.out.println(d4);

输出结果如下:

2、char可以表中文字符,byte不可以,如:

char e1 = '我', e2 = '你';

byte f= (byte) '他'; //必须强制转换否则报错

System.out.println(e1);

System.out.println(e2);

System.out.println(f);

输出:

3、char、byte、int对于英文字符,可以相互转化,如:

byte g = 'a'; //b对应ASCII是98

char h = (char) g;

char i = 85; //U对应ASCII是85

int j = 'h'; //h对应ASCII是104

System.out.println(g);

System.out.println(h);

System.out.println(i);

System.out.println(j);

输出结果:

相关推荐

注册已备案域名备案多久会掉
正规的365网站平台

注册已备案域名备案多久会掉

📅 07-01 👀 7507
国足今晚迎生死战!输球提前无缘世界杯
正规的365网站平台

国足今晚迎生死战!输球提前无缘世界杯

📅 06-29 👀 2656