Java:将二进制字符串转换为十六进制字符串

标签 java binary hex

<分区>

我需要将二进制字符串转换为十六进制字符串,但我遇到了问题。 我通过这种方法将二进制字符串转换为十六进制字符串:

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/

相关文章:

java - Play 应用程序 |如何将 FilePart 传递给其他请求

Ruby:拆分二进制数据

binary - WIX:在安装期间使用临时文件

ios - Swift 从 Int 的数组(事件/非事件状态)构建十六进制并获取整数形式的十六进制

c - 将字符串写入十六进制转换器

java - 对二维数组的行和列进行排序

Java Spring&Hibernate : Photos in Blog Posts

java - 如何在Java中读取.EXE文件的内容

Python从二进制字符串转换为十六进制

javascript - JavaScript 和 jetty 嵌入式 Websocket 服务器之间的 Websocket 困境