Java转Hex

简介

Java是一种广泛使用的编程语言,而Hex(十六进制)是一种常用的数制表示方法。在Java中,我们可以将数值或字节转换为十六进制表示,以便在不同的场景中使用。本文将介绍如何在Java中进行Hex转换,并提供相应的代码示例。

十进制转十六进制

在Java中,可以使用Integer.toHexString()方法将十进制数转换为十六进制表示。下面是一个示例代码:

int decimal = 255;
String hex = Integer.toHexString(decimal);
System.out.println("Hex value: " + hex);

上述代码将打印出Hex value: ff,表示十进制数255的十六进制表示为ff。

字符串转十六进制

如果我们想将一个字符串转换为十六进制表示,可以使用getBytes()方法将字符串转换为字节数组,然后使用DatatypeConverter.printHexBinary()方法将字节数组转换为十六进制字符串。下面是一个示例代码:

String str = "Hello";
byte[] bytes = str.getBytes();
String hex = javax.xml.bind.DatatypeConverter.printHexBinary(bytes);
System.out.println("Hex value: " + hex);

上述代码将打印出Hex value: 48656C6C6F,表示字符串"Hello"的十六进制表示为48656C6C6F。

十六进制转十进制

如果我们已经有一个十六进制字符串,想将其转换为十进制表示,可以使用Integer.parseInt()方法,并指定第二个参数为16,表示十六进制。下面是一个示例代码:

String hex = "ff";
int decimal = Integer.parseInt(hex, 16);
System.out.println("Decimal value: " + decimal);

上述代码将打印出Decimal value: 255,表示十六进制字符串"ff"的十进制表示为255。

十六进制转字节数组

如果我们有一个十六进制字符串,想将其转换为字节数组,可以先使用DatatypeConverter.parseHexBinary()方法将十六进制字符串转换为字节数组。下面是一个示例代码:

String hex = "48656C6C6F";
byte[] bytes = javax.xml.bind.DatatypeConverter.parseHexBinary(hex);
System.out.println("Byte array value: " + Arrays.toString(bytes));

上述代码将打印出Byte array value: [72, 101, 108, 108, 111],表示十六进制字符串"48656C6C6F"转换为字节数组后的结果为[72, 101, 108, 108, 111]。

总结

在Java中进行Hex转换是一种常见的操作,本文介绍了十进制转十六进制、字符串转十六进制、十六进制转十进制以及十六进制转字节数组的方法,并提供了相应的代码示例。通过这些方法,我们可以方便地在Java中进行Hex转换,满足不同的需求。


以上为代码示例。

参考文献:

  • Oracle. (n.d.). Class Integer. Retrieved from [
  • Oracle. (n.d.). Class String. Retrieved from [
  • Oracle. (n.d.). Class DatatypeConverter. Retrieved from [