Veröffentlicht 23. August 201015 j 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!
23. August 201015 j 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)?
25. August 201015 j 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?
25. August 201015 j 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");
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.