자바에서는 char이 2바이트를 차지합니다. 자바에서는 문자라면 숫자든 영어든 한자든 2바이트를 차지한다. 이유: Java 컴파일러는 기본적으로 유니코드 인코딩을 사용하므로 2바이트가 모든 문자를 나타낼 수 있습니다.
관련 권장 사항: "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!