17 Stimmen

Hexadezimalzeichenfolge in Binärzeichenfolge umwandeln

Ich möchte eine Hex-Zeichenkette in eine binäre Zeichenkette umwandeln. Zum Beispiel ist Hex 2 0010. Unten ist der Code:

String HexToBinary(String Hex)
{
    int i = Integer.parseInt(Hex);
    String Bin = Integer.toBinaryString(i);
    return Bin;
}

Dies funktioniert jedoch nur für Hex 0 - 9; für Hex A - F funktioniert es nicht, da es die int . Kann sie jemand verbessern?

4voto

Michael Yun Punkte 119
private static Map<String, String> digiMap = new HashMap<>();

static {
    digiMap.put("0", "0000");
    digiMap.put("1", "0001");
    digiMap.put("2", "0010");
    digiMap.put("3", "0011");
    digiMap.put("4", "0100");
    digiMap.put("5", "0101");
    digiMap.put("6", "0110");
    digiMap.put("7", "0111");
    digiMap.put("8", "1000");
    digiMap.put("9", "1001");
    digiMap.put("A", "1010");
    digiMap.put("B", "1011");
    digiMap.put("C", "1100");
    digiMap.put("D", "1101");
    digiMap.put("E", "1110");
    digiMap.put("F", "1111");
}

static String hexToBin(String s) {
    char[] hex = s.toCharArray();
    String binaryString = "";
    for (char h : hex) {
        binaryString = binaryString + digiMap.get(String.valueOf(h));
    }
    return binaryString;
}

Entschuldigung, es ist ein bisschen spät geworden. Aber ich denke, meine Antwort ist die einfachste und direkteste.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X