>  기사  >  Java  >  Java에서 char은 몇 바이트를 차지합니까?

Java에서 char은 몇 바이트를 차지합니까?

angryTom
angryTom원래의
2019-11-13 17:08:086875검색

Java에서 char은 몇 바이트를 차지합니까?

Java에서 char은 몇 바이트를 차지합니까?

Java의 문자는 2바이트를 차지합니다. Java는 유니코드(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는 문자를 표현하기 위해 유니코드를 사용합니다. , 한자 "中"의 유니코드는 2바이트입니다.

String.getBytes(encoding) 메소드는 지정된 인코딩의 바이트 배열 표현을 얻는 것입니다.

보통 gbk/gb2312는 2바이트이고 utf-8은 3바이트입니다.

인코딩을 지정하지 않으면 시스템 기본 인코딩이 사용됩니다.

php 중국어 웹사이트, 수많은 무료 Java 입문 튜토리얼, 온라인 학습을 환영합니다!

위 내용은 Java에서 char은 몇 바이트를 차지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.