十六进制格式说明符在java中不起作用

时间:2012-04-22 22:56:42

标签: java format printf

我总是得到例外

Exception in thread "main" java.util.FormatFlagsConversionMismatchException: Conversion = h, Flags = 0

在这行代码上

String.format("%02H", data[i]);

数据数组包含char变量。

我想以十六进制格式打印这些字符,如09,而不仅仅是9。

1 个答案:

答案 0 :(得分:3)

我认为您需要使用String.format("%02X", (int)data[i]);

查看Java code To convert byte to Hexadecimal的答案,以扩大对该主题的讨论。