Rumah >Java >javaTutorial >解析java中的char占几个字节实例代码

解析java中的char占几个字节实例代码

怪我咯
怪我咯asal
2017-04-08 10:42:021689semak imbas

这篇文章主要介绍了java中的char占几个字节实例分析的相关资料,需要的朋友可以参考下

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

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

  2: 1 byte = 8 bit ;

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

  例子代码如下:

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。


Atas ialah kandungan terperinci 解析java中的char占几个字节实例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn