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

Posted

技术标签:

【中文标题】如何在Java中将字符从字母字符转换为十六进制数字?【英文标题】:How to convert a char from an alphabetical character to a hexadecimal number in Java? 【发布时间】:2011-05-27 12:52:29 【问题描述】:

如何在 Java 中将字符从字母字符转换为十六进制数字?如果有人知道 Java 中的任何内置方法可以完成这项工作,或者如果您有自己的方法,您能帮忙吗?

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

【问题讨论】:

Performance question: Fastest way to convert hexadecimal char to its number value in Java? 的可能重复项 【参考方案1】:

您可以将字符转换为十六进制字符串。

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

要读取十六进制并转换为二进制,您可以这样做

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

【讨论】:

必须将 char 转换为 int,否则您将获得 IllegalFormatConversionException 很好看,我忘了它是自动装箱而不是向上投射。 这让我无法从 char[] 转换为 int @machado char [] 在哪里使用? for (i = 0; i 【参考方案2】:

你可以使用:

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

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

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

【讨论】:

【参考方案3】:

使用apache commons codec library

具体来说: http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Hex.html

【讨论】:

以上是关于如何在Java中将字符从字母字符转换为十六进制数字?的主要内容,如果未能解决你的问题,请参考以下文章

如何在JavaScript中将数字的二进制表示从字符串转换为整数?

如何在 C# 中将 E+ 数字从字符串转换为十进制? [复制]

如何在 Java 中将二进制字符串转换为以 10 为底的整数

如何在java中将十六进制字符串转换为long?

如何在 Delphi 中将浮点数转换为字符串,指定有效数字,而不是十进制数字(而不是 G 格式)

如何在 C++ 中将字符的十进制代码转换为 Unicode 字符串?