Amokloipher Geschrieben 23. August 2010 Geschrieben 23. August 2010 Hi zusammen! Ich arbeite momentan mit DatagramSocket und den entsprechenden Packets. In meinem DatagramPacket wird der zu übertragende Text in einem Byte-Array verpackt. Um nun also die "Nutzdaten" meines Paketes auszulesen gehe ich momentan so vor: String packData = new String(p.getData()); p.getData() liefert also das entsprechende Array. Meine Frage ist nun, wie ich ein Byte Array geschickter in einen String verwandeln kann, denn auf dem beschriebenen Weg werden auch alle leeren Stellen des Arrays in den String "mitgenommen" und erschweren mir so spätere Vergleiche. (p.getData().toString() liefert Matsch, das nurmal so angemerkt) Vielen Dank für eure Hilfe im Vorraus! Zitieren
etreu Geschrieben 23. August 2010 Geschrieben 23. August 2010 Wenn du die Daten vergleichbar haben willst, dann kannst du doch nicht einfach den Inhalt ändern?! Schon mal daran gedacht den Inhalt zu packen (Stichwort zip)? Zitieren
smash Geschrieben 25. August 2010 Geschrieben 25. August 2010 Wie entstehen denn "leere Stellen" in dem Byte-Array? Hängt das mit der Paketgröße zusammen? Benutzt du myString.getBytes() um das Byte-Array zu erhalten? Zitieren
Bauergiesen Geschrieben 25. August 2010 Geschrieben 25. August 2010 String s = new String(byteArray, "UTF-8"); So sollte es gehen. Geschickterweise bitte immer das Encoding mit angeben, da es oft Probleme damit geben kann. String s = "Test"; s.getBytes("UTF-8"); Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.