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 | 98 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 97 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..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
@@ -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杩涘埗浣庝綅鍦ㄥ墠楂樹綅鍦ㄥ悗
*
@@ -184,6 +279,7 @@
/**
* 16杩涘埗杞�10杩涘埗楂樹綆浣嶈浆鎹�
+ *
* @param hex
* @return
*/
--
Gitblit v1.8.0