web-dev-qa-db-ja.com

ASCII文字を含むバイト配列を文字列に変換する

ASCII文字列に変換したい文字で構成されるバイト配列があります。例えば:

byte[] myByteArray = new byte[8];
for (int i=0; i<8; i++) {
    byte[i] = (byte) ('0' + i);
}

myByteArrayには、ループの後に文字列「12345678」が含まれている必要があります。この文字列をString変数に取得するにはどうすればよいですか?

ありがとう!

17
user1118764

使用する

new String(myByteArray, "UTF-8");

Stringクラスは、このために constructor を提供します。

サイドノート:ここの2番目の引数は CharSet (byte encoding)であり、慎重に処理する必要があります。 詳細はこちら

37
rocketboy
String aString = new String(yourByteArray);

または

String aString = new String(yourByteArray, "aCharSet"); 
//Replacing "aCharSet" with the appropriate chararacter set

簡単 ドキュメントを参照

3
Java Devil