java 中 char 和 byte 的区别

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个字节长度

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容