>Java >Java베이스 >Java char은 몇 바이트를 차지합니까?

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

青灯夜游
青灯夜游원래의
2020-08-22 14:52:123392검색

자바에서는 char이 2바이트를 차지합니다. 자바에서는 문자라면 숫자든 영어든 한자든 2바이트를 차지한다. 이유: Java 컴파일러는 기본적으로 유니코드 인코딩을 사용하므로 2바이트가 모든 문자를 나타낼 수 있습니다.

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

관련 권장 사항: "Java 비디오 튜토리얼"

1: "바이트"는 바이트이고, "비트"는 비트입니다.

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

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

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

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

더 많은 관련 프로그래밍 지식을 보려면

프로그래밍 학습 웹사이트

를 방문하세요! !

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

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