<分区>
我需要将二进制字符串转换为十六进制字符串,但我遇到了问题。 我通过这种方法将二进制字符串转换为十六进制字符串:
public static String binaryToHex(String bin){
return Long.toHexString(Long.parseLong(bin,2));
}
没关系!但我丢失了字符串左侧的零。 例如:
该方法返回:123456789ABCDEF, 但我想退回这个:
00000123456789ABCDEF
<分区>
我需要将二进制字符串转换为十六进制字符串,但我遇到了问题。 我通过这种方法将二进制字符串转换为十六进制字符串:
public static String binaryToHex(String bin){
return Long.toHexString(Long.parseLong(bin,2));
}
没关系!但我丢失了字符串左侧的零。 例如:
该方法返回:123456789ABCDEF, 但我想退回这个:
00000123456789ABCDEF
最佳答案
我会使用 Long.parseLong
来解析值,然后使用 String.format
来输出值,而不是 Long.toHexString
所需宽度(在您的示例中为 21):
public static String binaryToHex(String bin) {
return String.format("%21X", Long.parseLong(bin,2)) ;
}
关于Java:将二进制字符串转换为十六进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19493873/