java 如何转换16进制

java 如何转换16进制

作者:Joshua Lee发布时间:2026-02-04阅读时长:0 分钟阅读次数:2

用户关注问题

Q
如何将16进制字符串转换为十进制整数?

我有一个16进制的字符串,想在Java中将其转换为对应的十进制整数,该怎么实现?

A

使用Integer.parseInt方法实现16进制转十进制

可以使用Java的Integer类中的parseInt方法,通过传入字符串和基数16,将16进制字符串转换为十进制整数。例如:int decimalValue = Integer.parseInt("1A", 16);这会将16进制的"1A"转换为十进制的26。

Q
如何将字节数组转换为16进制字符串?

在Java中,怎样把一个byte数组转换成对应的16进制表示字符串?

A

通过遍历字节数组并格式化为16进制字符串

可以遍历字节数组中的每个字节,使用String.format()方法将每个字节转为两位的16进制字符串,然后将它们拼接在一起。例如:

StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02X", b));
}
String hexString = sb.toString();

Q
如何在Java中将16进制字符串转换为字节数组?

我需要从16进制的字符串获取对应的byte数组,要如何在Java里面实现?

A

利用循环和parseInt将16进制字符串分段转字节

可将16进制字符串每两个字符当作一个字节,通过循环使用Integer.parseInt子串,基数为16,然后强制转换为byte,放入字节数组中,例如:

int len = hexString.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4)
+ Character.digit(hexString.charAt(i + 1), 16));
}