From ea8e8e7dd5f10cff4054f5fde8fd3961aaac1834 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 14 十月 2022 16:55:30 +0800
Subject: [PATCH] 大气设备农耕

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/util/SupplementUtils.java |   62 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 1 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/util/SupplementUtils.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/util/SupplementUtils.java
index 355b6d1..ee6b30e 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/util/SupplementUtils.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/util/SupplementUtils.java
@@ -8,7 +8,8 @@
 
     /**
      * 鎴彇鎸囧畾闀垮害鐨勫瓧绗︿覆锛屼笉瓒充互0濉厖鍓嶉潰
-     * @param hex 瀛楃涓�
+     *
+     * @param hex      瀛楃涓�
      * @param totalBit 鎴彇闀垮害
      * @return 鎴彇鍚庣殑瀛楃涓�
      */
@@ -29,5 +30,64 @@
         return hex;
     }
 
+    /**
+     * 鍗佽繘鍒惰浆16杩涘埗锛岃ˉ浣�0
+     *
+     * @param index    瀛楃涓�
+     * @param totalBit 鎴彇闀垮害
+     * @return 鎴彇鍚庣殑瀛楃涓�
+     */
+    public static String suppleZero(Integer index, Integer totalBit) {
+        String format = String.format("%02X", index);
+
+        totalBit = totalBit - format.length();
+
+        StringBuilder hexBuilder = new StringBuilder(format);
+        for (int i = 0; i < totalBit; i++) {
+            hexBuilder.insert(0, "0");
+        }
+        format = hexBuilder.toString();
+        return format;
+    }
+
+    /**
+     * 鍗佸叚杩涘埗杞崲鎴愬瓧鑺傛暟缁�
+     */
+    public static byte[] hexStringToBytes(String hexString) {
+        if (hexString == null || hexString.equals("")) {
+            return null;
+        }
+        hexString = hexString.toUpperCase(); // 鍗佸叚杩涘埗杞ぇ鍐欏瓧姣�
+        int length = hexString.length() / 2; // 鑾峰彇鍗佸叚杩涘埗鐨勯暱搴︼紝2涓瓧绗︿负涓�涓崄鍏繘鍒�
+        char[] hexChars = hexString.toCharArray();
+        byte[] d = new byte[length];
+        for (int i = 0; i < length; i++) {
+            int pos = i * 2;
+            d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
+        }
+        return d;
+    }
+
+    /**
+     * char杞琤yte
+     */
+    private static byte charToByte(char c) {
+        return (byte) "0123456789ABCDEF".indexOf(c);
+    }
+
+
+    public static boolean isHex(String str) {
+        boolean isHexFlg = true;
+        int i = 0;
+        char c;
+        for (i = 0; i < str.length(); i++) {
+            c = str.charAt(i);
+            if (!(((c >= '0') && (c <= '9')) || ((c >= 'A') && (c <= 'F')) || ((c >= 'a') && (c <= 'f')) || (c == ' '))) {
+                isHexFlg = false;
+                break;
+            }
+        }
+        return isHexFlg;
+    }
 
 }

--
Gitblit v1.9.3