在java中,char占用2个字节。java中,只要是字符,不管是数字还是英文还是汉字,都占两个字节。原因:java编译器默认使用unicode编码,因此2字节可以表示所有字符。

相关推荐:《Java视频教程》

1:“字节”是byte,“位”是bit ;

2: 1 byte = 8 bit ;

char在java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。

立即学习“Java免费学习笔记(深入)”;

例子代码如下:

public class Test {
 
 
 public static void main(String[] args) {
  String str= "中";
  char x ='中';
  byte[] bytes=null;
  byte[] bytes1=null;
  try {
   bytes = str.getBytes("utf-8");
   bytes1 = charToByte(x);
  } catch (UnsupportedEncodingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  System.out.println("bytes 大小:"+bytes.length);
  System.out.println("bytes1大小:"+bytes1.length);
 }
 public static byte[] charToByte(char c) { 
        byte[] b = new byte[2]; 
        b[0] = (byte) ((c & 0xFF00) >> 8); 
        b[1] = (byte) (c & 0xFF); 
        return b; 
    }
}
登录后复制

运行结果:

bytes 大小:3
bytes1大小:2
登录后复制

java是用unicode来表示字符,"中"这个中文字符的unicode就是2个字节。

 String.getBytes(encoding)方法是获取指定编码的byte数组表示,

通常gbk/gb2312是2个字节,utf-8是3个字节。

如果不指定encoding则取系统默认的encoding。

更多相关编程知识,可访问:编程学习网站!!

以上就是java char占用多少字节?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部