我想将字符类型转换为二进制,而不要将char字节转换为位。
我给你看例子。
如果char ='A'但实际上是十六进制! A = 1010 我有一个字符类型,但我想用十六进制表示它。
当然,我只有可以匹配十六进制的字符数据。 像9、8,A,C,D而不是47,U,Y ...
我可以算出1010中1的大小或长度吗?
如果您知道如何解决此问题,请告诉我!
答案 0 :(得分:2)
您可以在此处将任何字母转换为二进制数字
System.out.println(Long.toString(Long.parseLong("A", 16), 2)); //Output 1010
谢谢
答案 1 :(得分:1)
您可以最轻松地(而且可能是最有效地)使用Character.digit()
。
int a = Character.digit('A', 16);
System.out.println(Integer.toBinaryString(a));
答案 2 :(得分:1)
由于输入为char
,请使用Character
中的帮助方法进行转换:
int num = Character.getNumericValue(ch);
然后将其转换为二进制字符串:
String s = Integer.toBinaryString(num);