Gast Geschrieben 26. April 2004 Geschrieben 26. April 2004 Hallo zusammen, ich möchte eine Bytezahl (0 .. 255) in eine Hexadezimalzahl umwandeln um dann das Ergebnis einem String zuzuweisen. Gibt es in Java eine Funktion, die mir aus einer Zahl eine Hexadezimalzahl macht? P.S. Den Bytewertebereich von (-128 .. 127) wandel ich schon um in den passenden Bereich (0 .. 256) Zitieren
kingofbrain Geschrieben 26. April 2004 Geschrieben 26. April 2004 Servus, schieb das byte in ein Integer und probier die Methoden toHexString() oder eine der anderen. Vielleicht genügt das schon. Peter Zitieren
Gast Geschrieben 26. April 2004 Geschrieben 26. April 2004 Soweit sogut, aber die Methode .toHexString(int) erwartet einen int als Parameter. Was für einen int? Ich rufe die Methode schon von meiner Wrapperklasse Integer auf. Zitieren
kingofbrain Geschrieben 26. April 2004 Geschrieben 26. April 2004 Du kannst doch das byte problemlos und implizit nach int casten. Peter Zitieren
Gast Geschrieben 26. April 2004 Geschrieben 26. April 2004 String strTemp = ""; //hier soll die hexadezimale Zahl rein Integer intTemp; //hier steht die dezimale Zahl strTemp = intTemp.toHexString([COLOR=red]?[/COLOR]); //nach hex umwandeln Ich hoffe nun wird es ein bischen klarer. Zitieren
kingofbrain Geschrieben 26. April 2004 Geschrieben 26. April 2004 Wenn Du Dir die API-Doc anschaust, siehst Du, dass toHexString eine static method ist und einen int als Parameter erwartet. Also so. String bla = Integer.toHexString(intTemp.intValue()); Peter Zitieren
Gast Geschrieben 26. April 2004 Geschrieben 26. April 2004 Hast recht. Hat funktioniert. Danke. Zitieren
Gast Geschrieben 26. April 2004 Geschrieben 26. April 2004 Nun habe ich folgendes Problem: Wie kann ich eine byte-Variable in eine Integer-Variable bekommen? Zitieren
Peeter Geschrieben 27. April 2004 Geschrieben 27. April 2004 Original geschrieben von kingofbrain Du kannst doch das byte problemlos und implizit nach int casten. Peter Ist hier schon beantwortet worden... Peeter Zitieren
kingofbrain Geschrieben 27. April 2004 Geschrieben 27. April 2004 Servus, also hier nochmal ein kleiner BeispielCode: public class ByteHexTransformer { public static void main(String[] args) { System.out.println("hex value of 127 (byte): " + Integer.toHexString((byte) 127)); } } [/PHP] Wenn Du mit Integer wirklich ein Integer meinst (Object), dann so: new Integer((byte) 12); ansonsten so: byte b = 12; int i = b; byte braucht weniger Platz als int, also kannst Du implizit casten (musst nicht angeben, dass es ein cast ist). Peter Peter Zitieren
Gast Geschrieben 27. April 2004 Geschrieben 27. April 2004 Ähm, ich habe ja eine Wrapperklasse, also Integer und nicht int. Man könnte ja Integer nacht int transferieren und dann nach byte casten. Ich versuche das mal so. Zitieren
Gast Geschrieben 27. April 2004 Geschrieben 27. April 2004 Danke ihr beiden. Hat wunderbar geklappt. Zitieren
kingofbrain Geschrieben 27. April 2004 Geschrieben 27. April 2004 Nur noch eine Interessenfrage: Du schreibst, Du hast eine Wrapperklasse. Aber schon die "offizielle" Klasse java.lang.Integer und keine selbst geschriebene, oder? Die bringt nämlich schon alles mit, was Du brauchst. Peter Zitieren
Gast Geschrieben 27. April 2004 Geschrieben 27. April 2004 Jup. Hat ja keinen Sinn das Rad neu zu erfinden. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.