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 | 81 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 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 f7bc735..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杩涘埗浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
*
@@ -183,6 +243,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