首页  >  文章  >  Java  >  在 Java 中将字节数组转换为十六进制字符串时如何保留前导零?

在 Java 中将字节数组转换为十六进制字符串时如何保留前导零?

DDD
DDD原创
2024-11-21 16:34:12758浏览

How to Preserve Leading Zeros When Converting Byte Arrays to Hex Strings in Java?

在 Java 中将字节数组转换为十六进制字符串时保留前导零

将字节数组转换为十六进制数字字符串同时保留前导零在 Java 中,实现以下方法:

使用String.format

使用 String.format 将每个字节格式化为固定宽度的两个字符的十六进制字符串。保证前导零:

byte[] bytes = ...;
String hexString = "";
for (byte b : bytes) {
    hexString += String.format("%02X", b);
}

使用 Apache Commons Codec

利用 Apache Commons Codec 的 Hex.encodeHexString 方法:

import org.apache.commons.codec.binary.Hex;

byte[] bytes = ...;
String hexString = Hex.encodeHexString(bytes);

使用番石榴的ByteString

使用 Guava 的 ByteString 类将字节转换为十六进制字符串:

import com.google.common.hash.Hashing;

byte[] bytes = ...;
String hexString = Hashing.sha256().hashBytes(bytes).toString();

每种方法都确保在将字节数组转换为十六进制字符串时保留前导零。

以上是在 Java 中将字节数组转换为十六进制字符串时如何保留前导零?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn