1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

SDK 1.6 : String, getBytes()

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von RED-BARON, 19.11.2009.

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

    RED-BARON Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    146
    Erhaltene Danke:
    19
    Registriert seit:
    06.10.2009
    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

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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

    Beiträge:
    146
    Erhaltene Danke:
    19
    Registriert seit:
    06.10.2009
    :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.


     

Diese Seite empfehlen