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 중국어 웹사이트의 기타 관련 기사를 참조하세요!