String in Asciicode konvertieren
Johannes
- java
char[] testchar = teststring.toCharArray();
System.out.println("Test=" + testchar);
Eigentlich wollte ich damit ja den String in Ascii-Code als Zahlen umgewandelt herausbekommen, allerdings sieht das im Moment eher so aus:
teststring = "a"
nach der Umwandlung testchar = [C@1878144
beim nächsten mal wieder mit a, testchar war dann aber [C@2f0df1
Hatte mir den Tipp, Strings in Asciicode auf diese Weise umzuwandeln ergoogelt, aber es scheint ja nicht zu funktionieren sondern es ergibt zufällige Werte.
Weiß jemand woran das liegt, und wie ich das beheben/sonst Strings in Asciicode wandeln kann??
PS: Das Format von "testchar" müsste danach eben so sein, dass es nur aus den Ascii-Code-Zahlen besteht, damit ich diese dann in eine int weiterkonvertieren kann...
Hi,
char[] testchar = teststring.toCharArray();
System.out.println("Test=" + testchar);
Das gibt nicht den Inhalt des Arrays aus, sondern eine Kombination aus Typbezeichner [C - [ für Array, C für Char und der Referenz.
Würdest Du aber auf die einzelnen Elemente des Arrays zugreifen, hättest Du auch einzelne Zeichen ...
nach der Umwandlung testchar = [C@1878144
beim nächsten mal wieder mit a, testchar war dann aber [C@2f0df1
Die Referenz ändert sich natürlich.
Hatte mir den Tipp, Strings in Asciicode auf diese Weise umzuwandeln ergoogelt
Das klappt schon allein deshalb nicht, da die Zeichen eines Strings in Java keine ASCII-Zeichen sind, sondern Unicode-Zeichen.
cu,
Andreas
Hallo,
char[] testchar = teststring.toCharArray();
System.out.println("Test=" + testchar);
Du mußt auf die einzelnen Array-Element zugreifen, und nicht auf
das ganze Array.
Also z.B.
char[] testchar = "MeinTestString".toCharArray();
System.out.println("Test=" + testchar[0] + testchar[1]);
Das würde jetzt allerdings diese Ausgabe ergeben:
Test=Me
Willst du den Unicode als Zahl haben, mußt du die Chars noch nach
int wandeln:
char[] testchar = "MeinTestString".toCharArray();
System.out.println("Test=" + (int)testchar[0] + (int)testchar[1]);
Wie MudGuard schon sagte, verwendet Java Unicode. Ascii-Code kannst
du damit also nicht kriegen. Die ersten 256 Zeichen von Unicode sind
jedoch identisch mit den 256 Zeichen von ISO-8859-1. Die ersten 128
Zeichen von ISO-8859-1 sind wiederum identisch mit US-Ascii. (Ascii
hat ja eigentlich nur 7 bit, also 128 Zeichen, wie du vielleicht weißt.)
Gruß
Slyh