java中的char占几个字节实例分析

时间:2022-09-28 20:45:30

java中的char占几个字节实例分析

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

  2: 1 byte = 8 bit ;

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

  例子代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/ocean20/article/details/6743385