java 中 char 和 byte 的区别

2017-05-01  本文已影响0人  坚强一点

char 是字符,byte 是字节,都可以强制转换为一个整数。(char 强制转换为整数表示 这个字符对应的  Unicode 码的位置)

char 是无符号型的,大小范围为 0 -66535 (对应的 Unicode 码位置)

byte 是字节 ,有符号型的,大小范围是  -128-127  

char 可以表示中文,因为Unicode编码中包含了中文

byte 不可以表示中文。

char 转换为 byte,

char t = '中';

CharBuffer cb = CharBuffer.allocate(1);

cb.put(t);

cb.flip();

ByteBuffer bb = Charset.forName("utf-8").encode(cb);

byte [] b = bb.array();

转换后的byte长度,谁字符编码不同而不同。

utf-8 编码 :英文字母转byte 后占1个字节长度,中文占3个字节长度

gbk 编码:无论英文,中文都占2个字节长度

上一篇 下一篇

猜你喜欢

热点阅读