Java实现将16进制的字符串转化为10进制

您所在的位置:网站首页 1100101转十六进制 Java实现将16进制的字符串转化为10进制

Java实现将16进制的字符串转化为10进制

2023-07-02 04:50| 来源: 网络整理| 查看: 265

最近写通信相关的代码,获取了16进制的返回信息,但是数据类型是String,需要转化为10进制的数值类型才能使用,所以来总结一下:

首先我的字符串前6个字节是通信地址,最后4个字节是CRC校验码,所以先把有效数据截取出来:

/** * 截取字符串有效值 */ public static String hexToInt(String data){ String str = data.substring(6,data.length()-4); for (int i = 0; i < str.length(); i+=4){ hexChar2Decimal(str.substring(i, i + 4)); } return str; }

传入的data=C9030C07E70006001E000800270021A729;去掉通信地址和校验码之后的有效数据位是:07E70006001E000800270021;然后我的数据是每4个字节为一个数据,截取后分别是07E7,0006,001E,0008,0027,0021,我代码中就是每截取出一个数据,就调用16进制字符串转10进制数值的方法:

private static int hexChar2Decimal(String hex) { int num = 0; String[] overTen = {"A", "B", "C", "D", "E", "F"}; HashMap hashMap = new HashMap(); for (int i = 0; i < 6; i++) { hashMap.put(overTen[i], i + 10); } //取出hashMap中键的集合 Set keySet = hashMap.keySet(); //循环判断 for (int i = 0; i < hex.length(); i++) { //判断数字部分 if (hex.charAt(i) >= 48 && hex.charAt(i)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3