From a9c1231be4e3c1c5bd5e9fc61489d55363090407 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 04 三月 2024 15:26:22 +0800
Subject: [PATCH] 齐河项目相关修改

---
 app/src/main/java/com/dayu/recharge/tools/HexUtil.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 116 insertions(+), 2 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/tools/HexUtil.java b/app/src/main/java/com/dayu/recharge/tools/HexUtil.java
index 183296e..79176a6 100644
--- a/app/src/main/java/com/dayu/recharge/tools/HexUtil.java
+++ b/app/src/main/java/com/dayu/recharge/tools/HexUtil.java
@@ -1,6 +1,8 @@
 package com.dayu.recharge.tools;
 
 import java.math.BigInteger;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
@@ -9,7 +11,7 @@
  * Copyright (C), 2022,
  * Author: zuo
  * Date: 2022/3/9 14:55
- * Description:
+ * Description: 杩涘埗杞崲
  */
 public class HexUtil {
 
@@ -40,6 +42,9 @@
         return result;
     }
 
+    public static int getBcdToInt(byte data) {
+        return ((data & 0xF0) >> 4) * 10 + ((data & 0x0F));
+    }
 
     /**
      * Hex瀛楃涓茶浆byte
@@ -62,7 +67,7 @@
         if (hex.length() < 2) {
             hex = "0" + hex;
         }
-        return hex;
+        return hex.toUpperCase();
     }
 
 
@@ -136,6 +141,38 @@
         return Integer.toHexString(Float.floatToIntBits(value));
     }
 
+
+    /**
+     * 灏嗗甫绗﹀彿鐨�32浣嶆诞鐐规暟瑁呮崲byte鏁扮粍
+     * 浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
+     *
+     * @param value
+     * @return
+     */
+    public static byte[] folatToByte(Float value) {
+        ByteBuffer buffer = ByteBuffer.allocate(4); // 4涓瓧鑺�
+        buffer.order(ByteOrder.LITTLE_ENDIAN);
+        buffer.putFloat(value);
+        byte[] byteArray = buffer.array();
+        return byteArray;
+    }
+
+    /**
+     * 灏哹yte鏁扮粍杞崲涓哄甫绗﹀彿鐨�32浣嶆诞鐐规暟
+     *
+     * 浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
+     *
+     * @param value
+     * @return
+     */
+    public static Float bytesToFloat(byte[] value) {
+        ByteBuffer bufferLittleEndian = ByteBuffer.wrap(value);
+        bufferLittleEndian.order(ByteOrder.LITTLE_ENDIAN);
+        return bufferLittleEndian.getFloat();
+
+    }
+
+
     /**
      * 鍗佽繘鍒惰浆16杩涘埗
      *
@@ -161,6 +198,64 @@
         }
     }
 
+
+    /**
+     * short10杩涘埗杞�16杩涘埗 浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
+     *
+     * @param number
+     * @return
+     */
+    public static String get10To16LowHigh(short number) {
+        // 浣跨敤 Integer.toHexString 灏� short 杞崲涓哄崄鍏繘鍒跺瓧绗︿覆
+        int intValue = Short.toUnsignedInt(number);
+        // 浣跨敤 Integer.toHexString 灏� int 杞崲涓哄崄鍏繘鍒跺瓧绗︿覆
+        String hexString = Integer.toHexString(intValue);
+        // 琛�0锛岀‘淇濆瓧绗︿覆闀垮害涓�4
+        while (hexString.length() < 4) {
+            hexString = "0" + hexString;
+        }
+
+        hexString = spaceHex(hexString);
+        hexString = HighLowHex(hexString);
+        return hexString;
+    }
+
+
+    /**
+     * short10杩涘埗杞�16杩涘埗 浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
+     *
+     * @param number
+     * @return
+     */
+    public static String get10To16LowHigh(int number) {
+        // 浣跨敤 Integer.toHexString 灏� int 杞崲涓哄崄鍏繘鍒跺瓧绗︿覆
+        String hexString = Integer.toHexString(number);
+
+        hexString = spaceHex(hexString);
+        hexString = HighLowHex(hexString);
+        return hexString;
+    }
+
+
+    /**
+     * short16杩涘埗杞�10杩涘埗 浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
+     *
+     * @param hex
+     * @return
+     */
+    public static short getShort10To16LowHigh(String hex) {
+        try {
+            String str = "";
+            str = spaceHex(hex);
+            str = HighLowHex(str);
+            return (short) Integer.parseInt(str, 16);
+        } catch (NumberFormatException e) {
+            e.printStackTrace();
+        }
+        return 0;
+    }
+
+
     /**
      * 鍗佽繘鍒惰浆16杩涘埗浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
      *
@@ -183,6 +278,25 @@
     }
 
     /**
+     * 16杩涘埗杞�10杩涘埗楂樹綆浣嶈浆鎹�
+     *
+     * @param hex
+     * @return
+     */
+    public static int get16to10LowHigh(String hex) {
+        try {
+            String str = "";
+            str = spaceHex(hex);
+            str = HighLowHex(str);
+            return Integer.parseInt(str, 16);
+        } catch (NumberFormatException e) {
+            e.printStackTrace();
+        }
+        return 0;
+    }
+
+
+    /**
      * 杩斿洖鐗瑰畾闀垮害鐨�16杩涘埗瀛楃涓�
      *
      * @param data

--
Gitblit v1.8.0