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)
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
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.
kingofbrain Geschrieben 26. April 2004 Geschrieben 26. April 2004 Du kannst doch das byte problemlos und implizit nach int casten. Peter
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.
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
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?
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
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
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.
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
Gast Geschrieben 27. April 2004 Geschrieben 27. April 2004 Jup. Hat ja keinen Sinn das Rad neu zu erfinden.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden