[英]How to convert Hex String to binary string with leading zeros?
假设我有一个十六进制字符串0F0A
。 我需要输出为0000111100001010
。 我尝试了以下方法,但这会返回111100001010
- 我也需要前导0000
。
public static String hexToBinary(String hex) {
return new BigInteger(hex, 16).toString(2);
}
你快到了......只需要格式化它:
String string = "0f0a";
String value = new BigInteger(string, 16).toString(2);
String formatPad = "%" + (string.length() * 4) + "s";
System.out.println(String.format(formatPad, value).replace(" ", "0"));
formatPad 是填充器(每个十六进制符号为 4 位)...在您的情况下为16
试试这个代码:
String hexToBinary(String hexString) {
int i = Integer.parseInt(hexString, 16);
String binaryString = Integer.toBinaryString(i);
String padded = String.format("%8s", Integer.toBinaryString(i)).replace(' ', '0')
return padded;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.