好的,所以我想将十六进制字符串转换为二进制字符串,这样我就可以在行下进行一些交换和替换等操作,遇到了我以为是Convert hex string to binary string答案的问题,但这给我带来了一些问题。

String hexToBinary(String hexadecimalString) {
    int i = Integer.parseInt(hexadecimalString, 16);
    String binaryString = Integer.toBinaryString(i);
    return binaryString;
}


但是,例如,如果我传入十六进制字符串“ 03”,它将仅返回二进制字符串“ 11”。或者,如果我要传递十六进制字符串“ 41”,它将返回二进制字符串“ 1000001”。
如何使它始终返回长度为8位的二进制字符串?
所有帮助提前非常感谢:)

尝试过建议填充二进制字符串的建议,但没有成功,这是我尝试过的方法,您可以看到我做错了吗?

String hexToBinary(String hexString) {
    int i = Integer.parseInt(hexString, 16);
    String binaryString = Integer.toBinaryString(i);
    String padded = String.format("%8s", binaryString.replace(' ', '0'));
    return padded;
}

最佳答案

使用String.format

尝试这个:

String.format("%8s", Integer.toBinaryString(i)).replace(' ', '0')

07-28 12:19