バイト配列を文字列に変換することは可能ですが、文字列の長さは配列内のバイト数とまったく同じ長さですか? 以下を使用する場合:
byte[] data; // Fill it with data
data.toString();
文字列の長さが配列の長さと異なります。これは、Java や Android が何らかのデフォルトのエンコーディングを考慮に入れているためだと思います。配列内の値は、負の値にすることもできます。理論的には、任意のバイトを何らかの文字に変換できるはずです。各文字に固定の 1 バイト幅を生成するエンコーディングを指定する方法を理解する必要があると思います。
編集:
次のことを試しましたが、うまくいきませんでした:
byte[] textArray; // Fill this with some text.
String textString = new String(textArray, "ASCII");
textArray = textString.getBytes("ASCII"); // textArray ends up with different data.