Java에서 문자열의 바이트 수 계산
Java에서 문자열은 문자로 구성되며, 문자는 문자에 따라 바이트 표현이 달라질 수 있습니다. 선택한 인코딩. 문자열의 바이트 수를 결정하려면 바이트로 변환하는 데 사용되는 문자 인코딩을 고려해야 합니다.
인코딩 종속 바이트 수
이해의 열쇠 바이트 수는 인코딩이 다르면 동일한 문자열에 대해 바이트 크기가 다르다는 것입니다. 예를 들어, UTF-8로 인코딩된 문자열은 문자당 1바이트가 필요할 수 있고, UTF-16으로 인코딩된 문자열은 문자당 2바이트가 필요할 수 있습니다.
문자열을 바이트로 변환
바이트 수를 계산하려면 getBytes() 메서드를 사용하여 문자열을 바이트 배열로 변환할 수 있습니다.
<code class="java">byte[] utf8Bytes = string.getBytes("UTF-8"); byte[] utf16Bytes = string.getBytes("UTF-16");</code>
결과 바이트 배열의 길이는 해당 특정 인코딩에 대한 바이트 수를 제공합니다. :
<code class="java">int utf8ByteCount = utf8Bytes.length; int utf16ByteCount = utf16Bytes.length;</code>
예
"Hello World" 문자열을 고려하세요.
<code class="java">String string = "Hello World"; // Print the number of characters in the string System.out.println(string.length()); // 11 // Calculate the byte count for different encodings byte[] utf8Bytes = string.getBytes("UTF-8"); byte[] utf16Bytes = string.getBytes("UTF-16"); byte[] utf32Bytes = string.getBytes("UTF-32"); // Print the byte counts System.out.println(utf8Bytes.length); // 11 System.out.println(utf16Bytes.length); // 24 System.out.println(utf32Bytes.length); // 44</code>
고려 사항
문자열을 바이트로 변환할 때 원하는 문자 인코딩을 명시적으로 지정하는 것이 중요합니다. 기본값에 의존하면 특히 ASCII가 아닌 문자를 사용하는 언어로 작업할 때 예상치 못한 결과가 발생할 수 있습니다.
또한 UTF-8과 같은 특정 인코딩에서는 문자에 가변 길이 인코딩을 사용할 수 있습니다. 이는 단일 문자가 다양한 바이트 수로 표현될 수 있음을 의미하며, 인코딩 선택의 중요성이 더욱 강조됩니다.
위 내용은 Java 문자열은 몇 바이트를 차지하며, 대답이 인코딩에 따라 달라지는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!