Das scheint nur so !
Sende mal Umlaute oder andere Sonderzeichen, diese sind dann mit Hexwerten >256 definiert, so dass du die Zeichen nicht korrekt sehen kannst.
Du musst nun aus dem Byte-Array irgendwie einen String machen, der aus jeweils 2 Byte-Paaren ein Unicode-Zeichen macht.

Vielleicht gibts da ja noch Konvertierungen á la String2Byte / Byte2String ?!