Byte-Verwendung bei der String-Codierung
Die Berechnung der Anzahl der Bytes in einem String in Java erfordert die Berücksichtigung der verwendeten Codierungsmethode. Zeichenfolgen sind Zeichenfolgen, und die Anzahl der zu ihrer Darstellung erforderlichen Bytes hängt vom Codierungsschema ab, mit dem sie in Bytes konvertiert werden.
Bestimmen der Byteanzahl
Zu erhalten Geben Sie die Größe einer Zeichenfolge in Bytes an, konvertieren Sie sie mit der Methode getBytes() in ein Byte-Array und überprüfen Sie die Array-Größe:
<code class="java">String string = "Hello World"; byte[] utf8Bytes = string.getBytes("UTF-8"); int byteCount = utf8Bytes.length;</code>
Überlegungen zur Codierung
Die Das Kodierungsschema wirkt sich auf die Byteanzahl aus. Hier sind Beispiele für verschiedene Kodierungen, die auf dieselbe Zeichenfolge angewendet werden:
<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>
Sonderzeichen und Multi-Byte-Kodierungen
Sogar ASCII-Zeichenfolgen können je nach unterschiedliche Byteanzahlen haben die Kodierung. In UTF-8 erfordern beispielsweise einige Zeichen möglicherweise mehrere Bytes:
<code class="java">String interesting = "\uF93D\uF936\uF949\uF942"; // Chinese ideograms byte[] utf8Bytes = interesting.getBytes("UTF-8"); // Each char as 3 bytes</code>
Standardkodierung und explizite Spezifikation
Wenn kein Kodierungsargument angegeben wird, ist es das der Plattform Es wird der Standardzeichensatz verwendet. Es wird empfohlen, den gewünschten Zeichensatz immer explizit anzugeben, um unerwartete Ergebnisse zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie viele Bytes belegt ein String: Ein Blick auf Java-Kodierung und Byte-Nutzung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!