From e55c8b0a92eb9715edd90c31dfd4de51a47b588b Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 04 十一月 2022 17:40:08 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/util/SupplementUtils.java |   90 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 89 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..def9143 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,92 @@
         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;
+    }
+
+    public static final String bytesToHexString(byte[] bArray) {
+        StringBuffer sb = new StringBuffer(bArray.length);
+        String sTemp;
+        for (int i = 0; i < bArray.length; i++) {
+            sTemp = Integer.toHexString(0xFF & bArray[i]);
+            if (sTemp.length() < 2)
+                sb.append(0);
+            sb.append(sTemp.toLowerCase());
+        }
+        return sb.toString();
+    }
+
+    /**
+     * 瀛楃涓茶浆鎹负16杩涘埗瀛楃涓�
+     *
+     * @param s
+     * @return
+     */
+    public static String stringToHexString(String s) {
+        String str = "";
+        for (int i = 0; i < s.length(); i++) {
+            int ch = s.charAt(i);
+            String s4 = Integer.toHexString(ch);
+            str = str + s4;
+        }
+        return str;
+    }
+
+    /**
+     * 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