Hex String in int konvertieren

Die Methode Integer.parseInt(String), zur Umwandlung eines Strings in ein int, dürfte den meisten Java Programmierern geläufig sein. Wie konvertiert man allerdings einen Hex String in ein int?
Auch dafür kann man die Methode parseInt benutzen:

String hexString="ff";
int intValue=Integer.parseInt(hexString,16);

Ein Beispiel zur sinnvollen Anwendung wäre z.B. die Formatierung einer hexadezimalen Netzmaske in das typische durch Punkt getrennte Dezimale Format:

/**
 * wandelt das hexadezimale Format einer Netzmaske 
 * in ein dezimales Format um.
 * Bsp: fffffe00 -> 255.255.254.0
 * tritt dabei ein Fehler auf, wird keine Umwandlung vorgenommen
 * 
 * @return
 */
public String getNetmaskDecimalString() {
   String out="";
   
   try {
      StringBuffer netmaskString = new StringBuffer("");

      for (int i = 0; i < this.netmask.length(); i+=2) {
         String subString=this.netmask.substring(i,i+2);
         int subSet=Integer.parseInt(subString,16);
         
         netmaskString.append(subSet+".");		
      }
      
      out=netmaskString.toString().substring(0,netmaskString.length()-1);
      
   } catch (Exception e) {
      out=this.netmask;
   }
   
   return out;
}

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

%d Bloggern gefällt das: