如何将Hex String转换为二进制,总是采用8位格式?

时间:2015-02-05 08:13:35

标签: java android

我正在将Hex字符串转换为二进制。它工作正常。以下是我的代码。但我想把它放在8位格式中。

public static void main(String[] args) {

        String jhj = "1";
        int kj = Integer.parseInt(jhj);
        String kkk = Integer.toHexString(kj & 0xFF);

        System.out.println("Hex of String is: "+ Integer.decode(jhj));
        System.out.println("Binary of String Hex is: "+ hexToBin(jhj));
        System.out.println("Hex of Int is: "+ kkk);
        System.out.println("Binary of Int Hex is: "+ hexToBin(kkk));
    }

    private static String hexToBin(String s) {
        return new BigInteger(s, 16).toString(2);
    }

它是Binary的放弃:1 但我希望它在8位格式:00000001

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用String#format()方法,您可以在其中指定输出的长度,并用前导零表示您想要它:

private static String hexToBin(Integer s) {
    return String.format("%08d", s);
}

并将其命名为:

System.out.println("Binary of Int Hex is: "+ hexToBin(kj));