首頁  >  文章  >  Java  >  解析java中的char佔幾個位元組實例程式碼

解析java中的char佔幾個位元組實例程式碼

怪我咯
怪我咯原創
2017-04-08 10:42:021671瀏覽

這篇文章主要介紹了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。


以上是解析java中的char佔幾個位元組實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn