java如何把byte转化为16进制
时间: 2023-03-31 22:01:59 浏览: 124
可以使用Java中的Integer.toHexString()方法将byte转换为16进制。例如,以下代码将byte数组转换为16进制字符串:
byte[] bytes = {x12, x34, (byte)xAB, (byte)xCD};
String hexString = "";
for (byte b : bytes) {
hexString += Integer.toHexString(b & xFF);
}
System.out.println(hexString); // 输出:1234abcd
相关问题
byte[]数据转化为16进制
将byte数组转换为16进制字符串的方法可以使用Java自带的BigInteger类。以下是一个示例代码:
```java
public static String bytesToHex(byte[] bytes) {
BigInteger bigInt = new BigInteger(1, bytes);
String hex = bigInt.toString(16);
int paddingLength = (bytes.length * 2) - hex.length();
if (paddingLength > 0) {
return String.format("%0" + paddingLength + "d", 0) + hex;
} else {
return hex;
}
}
```
这里使用BigInteger的构造函数将byte数组转换为一个正数(大端模式)。然后使用BigInteger的toString方法将其转换为16进制字符串。如果字符串的长度不足,我们可以在前面添加零以保持字符串的长度与byte数组长度相同。
将字节数组转化为16进制字符串
可以使用以下代码将字节数组转化为16进制字符串:
```java
public static String bytesToHex(byte[] bytes) {
StringBuilder hexString = new StringBuilder();
for (byte b : bytes) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
return hexString.toString();
}
```
使用示例:
```java
byte[] bytes = {0x11, 0x22, 0x33, (byte) 0xff};
String hexString = bytesToHex(bytes);
System.out.println(hexString); // 输出:112233ff
```
阅读全文