1. RED-BARON, 19.11.2009 #1
    RED-BARON

    RED-BARON Threadstarter Android-Hilfe.de Mitglied

    Hallo Ihrs,

    ich baue einen String zusammen und möchte den über einen
    Socket versenden. Dafür kopiere ich die Bytes des Strings in
    ein byte-Array und übergebe dieses der Methode "write" des
    OutPutStreams.

    Im Logfile des Servers sieht man: status='VÜ' was abge-
    lehnt wird vom Server. der Orginalstring enthält: status='VÜ'.

    Leider bietet Outputstream keine Methode an die ein char-Array
    entgegen nimmt. Ich denke mal die Runtime konvertiert hier
    was, was so nicht gewünscht ist.

    Gibts dazu Lösungsansätze oder Ideen ? Besten dank, RB
     
  2. swordi, 19.11.2009 #2
    swordi

    swordi Gewerbliches Mitglied

    versuch mal sowas

    new String(deinString, "UTF-8").getBytes();

    du hast probleme mit der codierung
     
  3. RED-BARON, 20.11.2009 #3
    RED-BARON

    RED-BARON Threadstarter Android-Hilfe.de Mitglied

    :D
    öhm, ja.

    Falscher Fehler, an falscher Stelle gefunden.

    ich hatte die Länge falsch mit "length()" ermittelt.
    "getBytes()" liefert UTF-8, was wie ich glaubte für
    den Server doch kein Problem ist. Problem war, dass
    in das Ziel-Array ein Zeichen zu wenig kopiert
    wurde :rolleyes: . Die Länge wird jetzt mit "codePointCount"
    ermittelt und das Ziel-Array ist groß genug und auch
    alle Zeichen werden richtig kopiert.