ホームページ  >  記事  >  Java  >  Java では char は何バイトを占めますか?

Java では char は何バイトを占めますか?

angryTom
angryTomオリジナル
2019-11-13 17:08:086875ブラウズ

Java では char は何バイトを占めますか?

#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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。