可以使用 Java 内置的 Integer 类的静态方法 toHexString() 来将十进制转为十六进制:

int decimal = 1618801067;
String hex = Integer.toHexString(decimal);
System.out.println(hex);

输出结果为:

607cf1ab

如果希望输出的十六进制字符串中每两位之间有一个空格,可以使用正则表达式和 String 类的静态方法 replaceAll() 进行处理:

String hexWithSpace = hex.replaceAll("(?<=\\G.{2})", " ");
System.out.println(hexWithSpace);

输出结果为:

60 7c f1 ab

如果希望输出的十六进制字符串中每两位之间有一个空格,并且是逆序的(高位在后,低位在前),可以先将十六进制字符串转换为字符数组,然后倒序遍历数组:

char[] hexArray = hex.toCharArray();
StringBuilder reversedHex = new StringBuilder();
for (int i = hexArray.length - 2; i >= 0; i -= 2) {
    reversedHex.append(hexArray[i]).append(hexArray[i + 1]).append(" ");
}
System.out.println(reversedHex.toString());

输出结果为:

ab f1 7c 60
java 代码 :十进制:1618801067 转为16进制为: 607CF1AB 最后:AB F1 7C 60

原文地址: https://www.cveoy.top/t/topic/bsUZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录