Konvertieren von Strings in Hexadezimalzahlen in Java
Das Konvertieren einer Zeichenfolge in Hexadezimalzahlen in Java ist eine einfache Aufgabe, die mit dem String.format erledigt werden kann ()-Methode. So können Sie es machen:
public String toHex(String arg) { return String.format("%040x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/))); }
In diesem Code konvertiert die Zeile BigInteger(1, arg.getBytes()) die Zeichenfolge in ein BigInteger-Objekt, das eine nicht negative Ganzzahl mit beliebiger Genauigkeit darstellt . Das Argument 1 gibt an, dass die Ganzzahl in Little-Endian-Bytereihenfolge dargestellt wird.
Die Zeile String.format(" 0x") formatiert dann das BigInteger-Objekt als hexadezimale Zeichenfolge. Der Formatbezeichner 0x gibt an, dass die Zeichenfolge mit Nullen auf eine Gesamtbreite von 40 Zeichen aufgefüllt werden soll.
Hexadezimale Zeichenfolgen zurück in Zeichenfolgen konvertieren
Eine hexadezimale Zeichenfolge konvertieren Zurück zu einer Zeichenfolge ähnelt dem oben beschriebenen Konvertierungsprozess, jedoch in umgekehrter Reihenfolge. So können Sie es machen:
public String fromHex(String hex) { byte[] bytes = new BigInteger(hex, 16).toByteArray(); return new String(bytes, /*YOUR_CHARSET?*/); }
In diesem Code konvertiert die neue BigInteger(hex, 16)-Zeile die hexadezimale Zeichenfolge in ein BigInteger-Objekt. Das 16-Argument gibt an, dass die Zeichenfolge im Hexadezimalformat dargestellt wird.
Die toByteArray()-Methode konvertiert das BigInteger-Objekt in ein Array von Bytes.
Abschließend wird die neue String(bytes)-Zeile konvertiert das Array von Bytes zu einer Zeichenfolge unter Verwendung des angegebenen Zeichensatzes.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Strings in und aus Hexadezimalzahlen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!