Array in String, String in Array

  • Themenstarter Themenstarter Shaphard
  • Beginndatum Beginndatum
S

Shaphard

Gast
Hallo,

ich versuche ein byte[] Array mit 16 Feldern in ein String umzuwandeln und den String dann wieder zurück in ein byte[] Array mit 16 Feldern. Leider kommt bei der Umwandlung ein vollkommen anderes Array heraus, als das Ursprungs Array. Was mache ich falsch?

Java:
import java.util.Random;

public class Main {
    public static void main(String[] args) {

        // Random Byte Array erzeugen
        byte[] byteRandomArray = new byte[16];
        Random r = new Random();
        r.nextBytes(byteRandomArray);

        // byte[] ausgeben
        for (int i = 0; i < byteRandomArray.length; i++) {
            System.out.print(byteRandomArray[i]+" ");
        }
        // Ausgabe: -31 9 126 -94 10 -102 -121 6 -13 122 -8 -10 51 -6 62 26

        System.out.println("");

        // byte[] in String
        String stringArray = new String(byteRandomArray);

        byte[] byteRandomArray2 = new byte[16];

        // String in byte[]
        byteRandomArray2 = stringArray.getBytes();

        // byte[] ausgeben
        for (int i = 0; i < byteRandomArray2.length; i++) {
            System.out.print(byteRandomArray2[i]+" ");
        }
        // Ausgabe: -17 -65 -67 9 126 -17 -65 -67 10 -17 -65 -67 -17 -65 -67 6 -17 -65 -67 122 -17 -65 -67 -17 -65 -67 51 -17 -65 -67
    }
}
 
Zuletzt bearbeitet von einem Moderator:
Also bei mir klappt alles...
edit: ok, klappt doch nicht immer, aber ich vermute mal, das hat was damit zusammen, dass du einfach nicht irgendwelche byte-werte als String darstellen kannst. Wozu brauchst du es denn?
 
Zuletzt bearbeitet:
Also bei mir klappt alles...
edit: ok, klappt doch nicht immer, aber ich vermute mal, das hat was damit zusammen, dass du einfach nicht irgendwelche byte-werte als String darstellen kannst. Wozu brauchst du es denn?

Ich will das Random byte Array an eine Methode schicken, die nur Strings empfängt. In der Methode muss ich dann aber weiter mit dem byte Array arbeiten, d.h. der String muss wieder zum byte Array werden.
 

Zurück
Oben