Java では、char は 2 バイトを占めます。 Java では、数字、英語、漢字を問わず、文字であれば 2 バイトを使用します。理由: Java コンパイラはデフォルトで Unicode エンコードを使用するため、2 バイトですべての文字を表すことができます。
関連する推奨事項: 「Java ビデオ チュートリアル 」
1: 「バイト」はバイトです。 Bit" はビットです。
2: 1 バイト = 8 ビットです。Java では
char は 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) メソッドは、指定されたエンコーディングのバイト配列表現を取得します。
通常、gbk/gb2312 は 2 バイト、utf-8 は 3 バイトです。
エンコーディングが指定されていない場合は、システムのデフォルトのエンコーディングが使用されます。
関連するプログラミングの知識については、
プログラミング学習 Web サイト以上がJava char は何バイトを占有しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。