Veröffentlicht 26. April 200421 j 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)
26. April 200421 j Servus, schieb das byte in ein Integer und probier die Methoden toHexString() oder eine der anderen. Vielleicht genügt das schon. Peter
26. April 200421 j 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.
26. April 200421 j 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.
26. April 200421 j 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
26. April 200421 j Nun habe ich folgendes Problem: Wie kann ich eine byte-Variable in eine Integer-Variable bekommen?
27. April 200421 j Original geschrieben von kingofbrain Du kannst doch das byte problemlos und implizit nach int casten. Peter Ist hier schon beantwortet worden... Peeter
27. April 200421 j 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
27. April 200421 j Ä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.
27. April 200421 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.