I want to format string in hex in Java.
e.g. input: 123123
, output: 1E 0F 03
Here is my code:
String.format("%02X", integer)
I want to format string in hex in Java.
e.g. input: 123123
, output: 1E 0F 03
Here is my code:
String.format("%02X", integer)
Try something like:
int n = 123123;
StringBuilder sb = new StringBuilder();
String sep = "";
while (n > 0) {
int nybble = n & 0xFF;
sb.insert(0, sep);
sb.insert(0, String.format("%02X", nybble));
sep = " ";
n >>>= 8;
}
System.out.println(sb.toString());
You could do it like this
for (int val : new int[] { 123123, 122, 94392, 9200812 }) {
String valStr = String.format("%X",val);
valStr = (valStr.length() % 2 == 0 ? "" : "0") + valStr;
String result = String.join(" ", valStr.split("(?<=\\G(..))"));
System.out.printf("%7d = %10s = %s%n", val, valStr, result);
}
Prints
123123 = 01E0F3 = 01 E0 F3
122 = 7A = 7A
94392 = 0170B8 = 01 70 B8
9200812 = 8C64AC = 8C 64 AC