JavaでStringの文字エンコーディングを設定する方法は何ですか?
Javaでは、文字列を特定のエンコーディング形式のバイト配列に変換するために、getBytes()メソッドを使用できます。一般的な文字エンコーディングの設定方法は以下の通りです:
- バイトを取得する
String str = "Hello World";
byte[] bytes = str.getBytes();
- バイト数を取得する
String str = "你好,世界";
byte[] bytes = str.getBytes("UTF-8");
- 文字セット
- デフォルトの文字セット()
String str = "Hello World";
byte[] bytes = str.getBytes(Charset.defaultCharset());
注意しなければならないのは、バイト配列を文字列に変換する際にも同じ文字エンコーディングを使用する必要があるということです。文字列オブジェクトを作成する際には、Stringのコンストラクタやnew String()メソッドを使用して文字エンコーディングを指定することができます。
byte[] bytes = ...; // 字节数组
String str = new String(bytes, "UTF-8"); // 使用UTF-8编码创建字符串对象