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个字节长度
网友评论