#Java では char は何バイトを占めますか?
Java の 1 つの文字は 2 バイトを占めます。 Java は Unicode を使用し、2 バイトで文字を表します。数字、英語、または漢字は文字ですが、数字と英語の場合、格納される 2 バイトのうちの最初のバイトは 0 となり、スペースの無駄になります。中国語の文字を保存するには 2 バイトが必要です。
1: 「Byte」はバイト、「bit」はビット;
2: 1 バイト = 8 ビット;
コード例は次のとおりです:
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 バイトです。
エンコーディングが指定されていない場合は、システムのデフォルトのエンコーディングが使用されます。
php 中国語 Web サイト、無料の Java 入門チュートリアル が多数あり、オンラインで学習することを歓迎します。
以上がJava では char は何バイトを占めますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。