ascii code von zeichen in string ermitteln?

Status
Nicht offen für weitere Antworten.

Dilandau

Aktives Mitglied
geht das so?

Code:
int c = getBytes(l.charAt(i))-32;//use ascii code

Optimal wäre vielleicht, da ich weis, dass sich um ascii handelt, anstelle von String für l etwas anders zu verwenden?
 
Dilandau hat gesagt.:
geht das so?

Code:
int c = getBytes(l.charAt(i))-32;//use ascii code

Optimal wäre vielleicht, da ich weis, dass sich um ascii handelt, anstelle von String für l etwas anders zu verwenden?

hallo dil

meinst du vielleicht das hier ? probier mal aus
int intValue=(new Character (werte.charAt(j))).hashCode();

aber ich glaube damit kann nicht nur ascci sondern alle unicodezeichen , programmiere erst 2 monate java
mfg Thanni
 
die hashCode() methode liefert einen HashCode für die Verwendung mit Hashtables zurück laut API Doku. Also würde ich diese Methode mal grundsätzlich ausschliessen.

LR
 
aha
ich weiss nicht genau was ein hash code ist

aber ich bekomme einen int wert der dem zeichen entspricht bei einem A zb 65 und das stimmt laut ascii
ich denke halt das man damit halt auch werte über 255 (unicode)machen kann nicht nur ascii


aber wenn ich die frage falsch verstanden habe sorry 🙂

mfg thanni
 
Ich weiss es auch nicht genau, was die hashCode macht. Muss mal in Doku schmökern. Habs bisher nie gebraucht ehrlich gesagt.

LR
 
Die hashcodes definieren für jedes Objekt eine Zahl (wenn zwei Objekte gleich sind, ist es auch die gleich Zahl). Aber mit den ASCI-Zeichen hat das rein gar nichts zu tun..
 
und warum funzt es dann??


weil sie rein zufällig oder in voller absicht die hashcodes den ascii werten angepasst haben ?



mfg thanni
 
Manchmal geht was , das laut vorschrift nicht sein darf (weil nicht dokumentiert) und in zukünftigen versionen oder auf anderen plattformen mit anderen javamaschienen nicht unbedingt funktioniert. Das war schon auf dem Amiga so. Und davor, ich sag nur "germaniumdiode", aber beim letzteren gabs's nicht wirklich vorschriften 🙂

Übrigens liegt kein wissen vor, ob das besagte vorgehen (siehe unten nochmal) nun ein übler trick ist oder nicht.

Kann man int intValue=(new Character (werte.charAt(j))).hashCode();

abkürzen als

int intValue= werte.charAt(j).hashCode(); ?

Wozu umständlich in einem character zwischenlagern wenn doch der innerste teil offensichtlich schon den typ character hat? Das ist aber nur eine frage, kein wissen.


Asciizeichen der plattform, auf der das applet geht, bekommt man garantiert mit wort.getBytes();, wobei wort ein String ist.
 
Dilandau hat gesagt.:
Manchmal geht was , das laut vorschrift nicht sein darf (weil nicht dokumentiert) und in zukünftigen versionen oder auf anderen plattformen mit anderen javamaschienen nicht unbedingt funktioniert. Das war schon auf dem Amiga so. Und davor, ich sag nur "germaniumdiode", aber beim letzteren gabs's nicht wirklich vorschriften 🙂

Übrigens liegt kein wissen vor, ob das besagte vorgehen (siehe unten nochmal) nun ein übler trick ist oder nicht.

Kann man int intValue=(new Character (werte.charAt(j))).hashCode();

abkürzen als

int intValue= werte.charAt(j).hashCode(); ?

Wozu umständlich in einem character zwischenlagern wenn doch der innerste teil offensichtlich schon den typ character hat? Das ist aber nur eine frage, kein wissen.


Asciizeichen der plattform, auf der das applet geht, bekommt man garantiert mit wort.getBytes();, wobei wort ein String ist.

ich denke mal es wird auch in weiterenversionen gehen, hoff

nöö zwischen char und Character ist ein unterschied char ist ein datentyp und Character ein Object

es gibt sicher einfachere methoden die ich noch nicht gefunden habe aber ich machs so und so geht es 😉

int decWert= new Character("Aber".charAt(0)).hashCode();
in decWert ist dann ne 65 drin
aber ne andere theorie 😉
in bezug auf :

die hashCode() methode liefert einen HashCode für die Verwendung mit Hashtables zurück laut API Doku. Also würde ich diese Methode mal grundsätzlich ausschliessen.

die hashtabel ist vielleicht in dem fall die ascii tabelle 😉 es geht ja schließlich um eine methode von einem Character
und der hashcode wäre dann die entsprechende nummer in der tabelle die ja dann der ascii wert ist , so bitte nicht lynchen ist nur ne theorie
aber da das ganze glaube auch mit anderen zeichen geht die nur im unicode sind und der ergebniss dann größer ist als 255
isses wohl eine unicode tabelle

gruß thanni
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben