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

String -> ACSII -> String

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von hobride, 15.09.2010.

  1. hobride, 15.09.2010 #1
    hobride

    hobride Threadstarter Neuer Benutzer

    Beiträge:
    18
    Erhaltene Danke:
    0
    Registriert seit:
    15.09.2010
    Hallo zusammen,

    ich hätte da mal eine Frage zur Stringumwandlung.

    Wenn ich ein Zeichen z.B. 'A' habe will ich den ASCII Code wissen also 65,
    dann will ich z.B. 3 addieren also 68 und die dann wieder in ein Zeichen umwandeln also 'D'.

    Ich muss zugeben ich bin Anfänger aber jeder hat ja mal angefangen.
    Gesucht und probiert habe natürlich schon stundenlange :huh:.

    Gruß Marcel
     
  2. ko5tik, 15.09.2010 #2
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    Saubere Weg wäre über
    Char.getNUmericValue()

    und

    Char.toChars()

    Es wäre zu Bedenken, das in Java intern alles als UNICODE-16 verwaltet wird - aber für ASCII-Bereich spielt es keine Role
     
  3. hobride, 15.09.2010 #3
    hobride

    hobride Threadstarter Neuer Benutzer

    Beiträge:
    18
    Erhaltene Danke:
    0
    Registriert seit:
    15.09.2010
    Hallo ko5tik,

    danke erst mal für die schnelle Antwort, aber so richtig verstehe ich das nicht :confused:.

    ich hab folgendes probiert:

    Code:
    String sIn = "a";
    char c = sIn.charAt(0);
    int j = Character.getNumericValue(c);
    
    j ist danach 10 egal ob ich ein großes oder ein kleines "A" nehme. :confused2:
    Aber zurück gehts dann nicht mehr.

    Code:
    j = j + 3;   // aus a|A sollte d|D werden
    String sOut = Character.toChars(j).toString();
    
    heraus kommt aber : '[C@43d36d86'

    Sorry, für diese Anfängerfragen aber googeln und suchen hat mich nicht weiter gebracht.

    Gruß Marcel
     
  4. DieGoldeneMitte, 15.09.2010 #4
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    @ko5tik: getNumericValue() liefert den numerischen Wert einer Ziffer, nicht den Ascii-Wert. (Den ASCII-Wert bzw. Codepoint bekommt man durch Umwandlung nach int.)

    @hobride: Für Anfänger ist es hilfreich, zu allererst ein Java Buch durchzuarbeiten. Einige Bücher gibt es auch frei im Netz. Irgendwo hier im Forum ist auch der Link dazu.

    Und GANZ WICHTIG ist die API-DOC (zum Beispiel hier: Java Platform SE 6) hier kannst Du zu jeder Funktion genau lesen, was sie tut.

    Achja: j = j + 3 ist ein befehl, der ausgeführt wird. Danach machst du was mit dem Wert von j.
    (Hast Du schonmal mit Lisp gearbeitet und j=j+3 für eine Lambda closure gehalten? ;-)

    Aber ich bin heute mal nett:
    Code:
    String text = "MeinText";
    char[] data = text.toChars();
    for( int i=0; i<data.length; i++ ) { data[i] = data[i]+3; }
    String res = new String(data);
    
     
    Zuletzt bearbeitet: 15.09.2010
  5. hobride, 15.09.2010 #5
    hobride

    hobride Threadstarter Neuer Benutzer

    Beiträge:
    18
    Erhaltene Danke:
    0
    Registriert seit:
    15.09.2010
    Ja, das geht ... DANKE.:biggrin:

    Ich will mir demnächst ein Buch bestellen, bin nur noch nicht ganz sicher welches.

    Gruß Marcel
     

Diese Seite empfehlen