Java で文字列のエンコーディング形式を確認する方法

Javaで文字列のエンコーディングを確認する方法

  1. GetBytesメソッドを使用し、文字列をバイト配列に変換して、デフォルトのエンコーディングを使用したバイト配列を返します。異なるエンコーディング方式を指定することで、対応するエンコーディングのバイト配列を取得できます。
String str = "Hello World!";
byte[] bytes = str.getBytes(); // 使用默认编码方式
System.out.println(Arrays.toString(bytes));
  1. 指定した文字セットを使用して新しい文字列オブジェクトを作成できます。ただし、指定された文字セットにない文字があれば、デフォルトの文字セットが使用されます。
String str = "Hello World!";
Charset charset = Charset.forName("UTF-8"); // 指定编码为UTF-8
byte[] bytes = str.getBytes(charset);
System.out.println(Arrays.toString(bytes));
  1. 文字列をデコードするために、指定された文字セットを使用してCharsetDecoderオブジェクトを作成し、decode()メソッドを使用します。
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CodingErrorAction;
import java.nio.ByteBuffer;
String str = "Hello World!";
CharsetDecoder decoder = Charset.forName("UTF-8").newDecoder();
decoder.onMalformedInput(CodingErrorAction.IGNORE);
decoder.onUnmappableCharacter(CodingErrorAction.IGNORE);
ByteBuffer buffer = ByteBuffer.wrap(str.getBytes());
String decodedStr = decoder.decode(buffer).toString();
System.out.println(decodedStr);

以上の方法で文字列のエンコード形式を確認できますが、getBytes()メソッドやStringのコンストラクタでエンコードを指定しない場合、プラットフォームのデフォルトエンコードが使用されることに注意してください。

bannerAds