如何在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 为底的整数