【发布时间】:2016-07-14 19:05:07
【问题描述】:
我需要将表示为字符串的十六进制数字转换为有符号的 8 位字符串。
例如:鉴于此代码片段:
String hexideciaml = new String("50 4b e0 e7");
String signed8Bit = convertHexToSigned8Bit(hexideciaml);
System.out.print(signed8Bit);
输出应该是: "80 75 -32 -25"
所以我非常想用 Java 实现这个网站的一部分。 https://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html
更新:解决方案需要针对 JRE6,没有其他 Jars。
【问题讨论】:
-
为什么“50”会保持未十六进制?我希望输出为“80 75 -32 -25”
-
使用空格作为分隔符解析
String。然后通过Integer.parseInt(String, int)将每个值转换为基数为16 的Integer。将该值转换为byte以将其转换为有符号值。 -
你是对的@Reimeus。更新问题。对此感到抱歉。