如何在Java中轻松地将格式为“20 0F 01”的字符串更改为十六进制值?
我找到了方法toHexString(),但它将字符串转换为十六进制,而值已经转换(如“200f01等”)从该字符串中获取十六进制值的最佳方法是什么以备日后使用(例如添加、将其中一些值发送到输出设备)
你可以在下面搜索框中键入要查询的问题!
我找到了方法toHexString(),但它将字符串转换为十六进制,而值已经转换(如“200f01等”)从该字符串中获取十六进制值的最佳方法是什么以备日后使用(例如添加、将其中一些值发送到输出设备)
# 1 楼答案
使用
String.split()
将字符串分解为单个字节,使用Integer.parseInt(s, 16)
将字符串表示形式转换为整数像这样的方法应该有用:
# 2 楼答案
试试看
范例 整数parseInt(“-FF”,16)返回-255
https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String,%20int)
# 3 楼答案
由于您提到更喜欢字节数组,因此可以使用字节缓冲来累积字节值:
我们使用hasNextInt和nextInt,而不是hasNextByte和nextByte,因为Java的数字类型是有符号的,并且
7f
以上的值不能表示为有符号字节