文字列エンコーディングにおけるバイト使用量
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 中国語 Web サイトの他の関連記事を参照してください。