java의char가 몇 바이트를 차지하는 실례 분석
1:'바이트'는byte이고'위'는bit이다.
2: 1 byte = 8 bit ;
char는 Java에서 2바이트입니다.자바는 유니버설, 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
자바는 유니코드로 문자를 표시하고,'중'이라는 중국어 문자의 유니코드는 2바이트입니다.
String.getBytes(encoding) 방법은 지정한 인코딩을 가져오는byte 그룹 표시입니다.
일반적으로gbk/gb2312는 2바이트이고utf-8은 3바이트입니다.
인코딩을 지정하지 않으면 시스템의 기본 인코딩을 가져옵니다.
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.