From 1c549ae7af5f8d7bdeecb4ad38ab181af4831821 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 29 二月 2024 18:07:41 +0800
Subject: [PATCH] 添加齐河项目的卡结构

---
 app/src/main/java/com/dayu/recharge/tools/HexUtil.java |   63 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 1 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 9e86a6c..a00b073 100644
--- a/app/src/main/java/com/dayu/recharge/tools/HexUtil.java
+++ b/app/src/main/java/com/dayu/recharge/tools/HexUtil.java
@@ -9,7 +9,7 @@
  * Copyright (C), 2022,
  * Author: zuo
  * Date: 2022/3/9 14:55
- * Description:
+ * Description: 杩涘埗杞崲
  */
 public class HexUtil {
 
@@ -40,6 +40,9 @@
         return result;
     }
 
+    public static int getBcdToInt(byte data) {
+        return ((data & 0xF0) >> 4) * 10 + ((data & 0x0F));
+    }
 
     /**
      * Hex瀛楃涓茶浆byte
@@ -161,6 +164,63 @@
         }
     }
 
+
+    /**
+     * 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杩涘埗浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
      *
@@ -184,6 +244,7 @@
 
     /**
      * 16杩涘埗杞�10杩涘埗楂樹綆浣嶈浆鎹�
+     *
      * @param hex
      * @return
      */

--
Gitblit v1.8.0