如何在Java中将字母字符转换为十六进制数字?

22

我该如何在Java中将字母字符转换为十六进制数?如果有人知道Java中任何内置方法可以完成此任务,或者您有自己的方法,请帮忙提供。

另外,我该如何将十六进制转换为二进制?


3个回答

31

你可以将char类型转换为十六进制字符串。

char ch = 
String hex = String.format("%04x", (int) ch);

要读取十六进制并转换为二进制,可以执行以下操作

int num = Integer.parseInt(text, 16);
String bin = Integer.toString(num, 2);

1
那个 char 必须转换为 int,否则你会收到一个 IllegalFormatConversionException 异常。 - McDowell
这给了我一个“无法将char[]转换为int”的错误。 - Machado
@machado char [] 在哪里被使用了? - Peter Lawrey
@Machado,你在哪里将char[]转换为int? - Peter Lawrey
例如,要将byte[]的一部分转换为int,您可以执行int num = Integer.parseInt(new String(bytes, start, length));,无需循环或char[] - Peter Lawrey
显示剩余4条评论

21

您可以使用:

Integer.toHexString((int) 'a');
Integer.toBinaryString((int) 'b');

更新:十六进制 -> 二进制转换:

Integer.toBinaryString(Integer.parseInt("fa", 16))


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接