【发布时间】:2011-08-11 05:26:43
【问题描述】:
我正在尝试将包含二进制值(例如 000010001010011)的字符串转换为十六进制值。(453)
我一直在尝试几个选项,但大多数情况下我得到了每个单独字符的转换值。 (0=30 1=31)
我有一个函数,它通过非数学方式将我的输入转换为二进制代码,但通过一系列“if, else if”语句。 (这些值不计算,因为它们不是标准的。)二进制代码包含在变量字符串“binOutput”中
我目前有这样的事情:
String bin = Integer.toHexString(Integer.parseInt(binOutput));
但这根本不起作用。
【问题讨论】:
-
哇,你们真快!它有效!谢谢!但我还有 1 个问题......当数字更大时,它似乎不起作用。(例如“1011000010001010011101010110110011001000010011111”应该变成 16114EAD9909F)
-
问题是该值不适合
int。试试String bin = Long.toHexString(Long.parseLong(binOutput, 2));如果它变得太大,即使是很长(64 位),那么你将不得不将binOutput分解成更小的字符串,并分别处理每个部分。 -
@Ted 谢谢!解决了这个问题。