Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

byte nach hex umwandeln

Empfohlene Antworten

Veröffentlicht

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)

Servus,

schieb das byte in ein Integer und probier die Methoden toHexString() oder eine der anderen. Vielleicht genügt das schon.

Peter

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.

Du kannst doch das byte problemlos und implizit nach int casten.

Peter


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.

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

Hast recht. Hat funktioniert. Danke.

Nun habe ich folgendes Problem:

Wie kann ich eine byte-Variable in eine Integer-Variable bekommen?

Original geschrieben von kingofbrain

Du kannst doch das byte problemlos und implizit nach int casten.

Peter

Ist hier schon beantwortet worden...

;)

Peeter

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

Ä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.

Danke ihr beiden. Hat wunderbar geklappt.

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

Jup. Hat ja keinen Sinn das Rad neu zu erfinden. ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.