Java Hex-String in Int umwandeln

Rupam Yadav 12 Oktober 2023
  1. Java Konvertieren einer kurzen Hex-Zeichenkette in int mit Integer.decode()
  2. Java Konvertieren eines langen Hex-Strings in int mit Long.parseLong()
  3. Java Konvertieren eines sehr langen Hex-Strings in int mit BigInteger
Java Hex-String in Int umwandeln

In diesem Artikel werden die drei Methoden vorgestellt, mit denen wir einen Hex-String in einen int konvertieren können. Hex oder Hexadezimal ist ein 16-Basen-Zahlensystem, was bedeutet, dass es 16 mögliche Symbole zur Darstellung von Zahlen gibt. Die Hex-Werte, die zur Darstellung von Zahlen verwendet werden, sind 0-9 im Dezimalsystem und A-F, die 10-15 im Dezimalsystem darstellen.

In den folgenden Beispielen sehen wir uns die Schritte zur Konvertierung einer gegebenen hexadezimalen Zeichenkette unterschiedlicher Länge in eine int in Java an.

Java Konvertieren einer kurzen Hex-Zeichenkette in int mit Integer.decode()

Im ersten Beispiel verwenden wir die Funktion decode() der Klasse Integer, die einen String annimmt und dann einen primitiven int zurückgibt.

In Java kann ein int den minimalen Wert von -231 bis zum maximalen Wert von 231-1 speichern. Wenn wir unser Ergebnis im Typ int haben wollen, können wir nicht mit langen Zeichenketten arbeiten. Weitere Beispiele in diesem Artikel werden zeigen, wie wir längere hexadezimale Werte in einen numerischen Wert umwandeln können.

public class Main {
  public static void main(String[] args) {
    String hex = "0x2fd";

    int convertedValue = Integer.decode(hex);
    System.out.print(convertedValue);
  }
}

Ausgabe:

765

Java Konvertieren eines langen Hex-Strings in int mit Long.parseLong()

Wie wir oben besprochen haben, können wir große Hex-Werte nicht in primitive int konvertieren, da diese einen Wert aus einer int-Kapazität zurückgeben können. Deshalb verwenden wir in diesem Beispiel Long, das eine größere Kapazität von -263 bis 263-1 hat.

Die Methode parseLong() von Long nimmt zwei Parameter, eine Zeichenkette und einen Basiswert, um die Zeichenkette in eine primitive lange Ganzzahl zu parsen.

public class Main {
  public static void main(String[] args) {
    String hex = "AA0F245C";
    long l = Long.parseLong(hex, 16);
    System.out.println(l);
  }
}

Ausgabe:

2853119068

Java Konvertieren eines sehr langen Hex-Strings in int mit BigInteger

Hexadezimale Werte können für verschiedene Zwecke verwendet werden, und einer davon ist, wenn wir etwas verschlüsseln wollen, kann dieser Hex-Wert sehr lang sein. Wenn wir diesen Hex-Wert aus irgendeinem Grund in einen numerischen Wert umwandeln wollen, dann können wir BigInteger verwenden, das, wie der Name schon sagt, große Ganzzahlen aufnehmen kann.

Im folgenden Beispiel übergeben wir unseren Hex-Wert an den Konstruktor von BigInteger mit dem Basiswert. Wir können den int-Wert auch von BigInteger.intValue() erhalten, aber es werden nur die ersten 32 Bits zurückgegeben.

import java.math.BigInteger;

public class Main {
  public static void main(String[] args) {
    String hex = "4D21C5BA77D06212F39E16BF2756E9811125F7FC";
    BigInteger bigInteger = new BigInteger(hex, 16);
    System.out.println(bigInteger);
  }
}

Ausgabe:

440345438517096076415390637616379300179635206140
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Verwandter Artikel - Java Int

Verwandter Artikel - Java Hex