この投稿では、Javaでバイトアレイを文字列に変換する方法について説明します。

文字列はテキストデータをJavaで保存することを知っています。 byte[] バイナリデータを格納するため、それらの間の変換は避けてください。それにもかかわらず、私たちは選択の余地がない状況に自分自身を見つけるかもしれません。この投稿では、文字エンコードを指定する場合と指定しない場合で、Javaでバイトアレイを文字列に変換する方法について説明します。

1.文字エンコードなし

変換できます byte 文字エンコードを指定せずに、ASCII文字セットの文字列にアレイします。アイデアは合格することです byte[] 文字列コンストラクタに。

ダウンロード  コードを実行する

出力:

Techie Delight

2.文字エンコードあり

私たちはそれを知っています byte 最大256の異なる値を持つことができる8ビットを保持します。これは、最初の7ビットのみが使用されるASCII文字セットで正常に機能します。 256を超える値を持つ文字セットの場合、文字をバイトのシーケンスにエンコードする方法を指示するエンコードを明示的に指定する必要があります。

次のプログラムでは、 StandardCharsets.UTF_8 エンコーディングを指定します。 Java 7より前では、 Charset.forName("UTF-8").

ダウンロード  コードを実行する

出力:

Techie Delight

これで、バイトアレイをJava文字列に変換できます。