文字列は何バイトを占めるか: Java エンコーディングとバイト使用量を調べる?

Mary-Kate Olsen
リリース: 2024-10-27 05:08:30
オリジナル
779 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート