>Java >java지도 시간 >문자열이 차지하는 바이트 수: Java 인코딩 및 바이트 사용량 살펴보기

문자열이 차지하는 바이트 수: Java 인코딩 및 바이트 사용량 살펴보기

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-27 05:08:30828검색

How Many Bytes Does a String Occupy: A Look at Java Encoding and Byte Usage?

문자열 인코딩의 바이트 사용량

Java에서 문자열의 바이트 수를 계산하려면 사용된 인코딩 방법을 고려해야 합니다. 문자열은 문자의 시퀀스이며 이를 표현하는 데 필요한 바이트 수는 이를 바이트로 변환하는 데 사용되는 인코딩 방식에 따라 다릅니다.

바이트 수 결정

가져오려면 문자열 크기(바이트)를 getBytes() 메서드를 사용하여 바이트 배열로 변환하고 배열 크기를 검사합니다.

<code class="java">String string = "Hello World";
byte[] utf8Bytes = string.getBytes("UTF-8");
int byteCount = utf8Bytes.length;</code>

인코딩 고려 사항

인코딩 체계는 바이트 수에 영향을 미칩니다. 다음은 동일한 문자열에 적용되는 다양한 인코딩의 예입니다.

<code class="java">byte[] utf8Bytes = string.getBytes("UTF-8");  // Each char as 1 byte
byte[] utf16Bytes = string.getBytes("UTF-16"); // Each char as 2 bytes
byte[] utf32Bytes = string.getBytes("UTF-32"); // Each char as 4 bytes
byte[] isoBytes = string.getBytes("ISO-8859-1");  // Each ASCII char as 1 byte
byte[] winBytes = string.getBytes("CP1252");   // Each ASCII char as 1 byte</code>

특수 문자 및 멀티바이트 인코딩

심지어 ASCII 문자열도 문자열에 따라 다양한 바이트 수를 가질 수 있습니다. 인코딩. 예를 들어 UTF-8에서 일부 문자에는 여러 바이트가 필요할 수 있습니다.

<code class="java">String interesting = "\uF93D\uF936\uF949\uF942"; // Chinese ideograms
byte[] utf8Bytes = interesting.getBytes("UTF-8");  // Each char as 3 bytes</code>

기본 인코딩 및 명시적 사양

인코딩 인수가 제공되지 않으면 플랫폼의 기본 문자 집합이 사용됩니다. 예상치 못한 결과를 방지하려면 항상 원하는 문자 집합을 명시적으로 지정하는 것이 좋습니다.

위 내용은 문자열이 차지하는 바이트 수: Java 인코딩 및 바이트 사용량 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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