Java では、バイト配列を文字列 (String) に変換するには、通常、文字エンコーディングを指定する必要があります。これは、バイトは UTF-8、UTF-16、ISO-8859-1 待機などのさまざまな文字エンコーディングを表すことができるためです。UTF-8 文字エンコーディングを使用してバイト配列を文字列に変換する例を次に示します。
public class ByteToStringExample {
public static void main(String[] args) {
try {
// 创建一个字节数组
byte[] byteArray = { 72, 101, 108, 108, 111 }; // 这个字节数组表示 "Hello"
// 将字节数组转换为字符串,使用UTF-8字符编码
String str = new String(byteArray, "UTF-8");
// 打印结果
System.out.println(str); // 输出 "Hello"
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
上記のコードでは、まず byteArray を作成します。ここで、各バイトは文字列「Hello」の文字を表します。次に、 new String(byteArray, "UTF-8") を使用してバイト配列を文字列に変換します。ここで、「UTF-8」は文字エンコーディングであり、Java にバイト配列内のバイトを解釈して文字列を構築する方法を指示します。
バイト配列内のバイトの生成に使用された文字エンコーディングが不明な場合、間違った文字エンコーディングを使用すると、文字化けや誤った結果が発生する可能性があることに注意してください。したがって、正しい文字エンコーディングが使用されていることを確認することが非常に重要です。
バイト配列内のバイトが有効な UTF-8 エンコード文字シーケンスを表す場合、通常は UTF-8 文字エンコードを安全に使用してバイト配列を文字列に変換できます。ただし、特別な要件がある場合、または文字エンコーディングが不明な場合は、バイトから文字列への変換を処理するときに正確な文字エンコーディングを指定することをお勧めします。