From def1eb8623e1444164ae4bce9179d011a89b8c5e Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期二, 03 十二月 2024 09:15:27 +0800
Subject: [PATCH] 现场对接批量更新

---
 JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/HexConversion.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 47 insertions(+), 6 deletions(-)

diff --git a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/HexConversion.java b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/HexConversion.java
index 4996e62..0979522 100644
--- a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/HexConversion.java
+++ b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/tools/HexConversion.java
@@ -52,7 +52,35 @@
         numberHex = String.format("%2s", numberHex).replace(' ', '0');
         return numberHex;
     }
-
+    /**
+     * 浠巄yte鏁扮粍涓彇int鏁板�硷紝鏈柟娉曢�傜敤浜�(浣庝綅鍦ㄥ墠锛岄珮浣嶅湪鍚�)鐨勯『搴忥紝鍜屽拰intToBytes()閰嶅浣跨敤
+     *
+     * @param src: byte鏁扮粍
+     * @param offset: 浠庢暟缁勭殑绗琽ffset浣嶅紑濮�
+     * @return int鏁板��
+     */
+    public static int bytesToIntDesc(byte[] src, int offset) {
+        int value=0;
+        int length = src.length;
+        for(int i=0;i<length;i++){
+            value+=(int)((src[offset+i]&0xFF)<<(length-i-1)*8);
+        }
+        return value;
+    }
+    /**
+     * 灏唅nt鏁板�艰浆鎹负鍗爏ize涓瓧鑺傜殑byte鏁扮粍锛屾湰鏂规硶閫傜敤浜�(浣庝綅鍦ㄥ墠锛岄珮浣嶅湪鍚�)鐨勯『搴忋�� 鍜宐ytesToInt锛堬級閰嶅浣跨敤
+     * @param value
+     *            瑕佽浆鎹㈢殑int鍊�
+     * @return byte鏁扮粍
+     */
+    public static byte[] intToBytesDesc( int value,int size )
+    {
+        byte[] src = new byte[size];
+        for(int i=0;i<size;i++){
+            src[i] = (byte) ((value>>(size-i-1)*8) & 0xFF);
+        }
+        return src;
+    }
     /**
      * 浠巄yte鏁扮粍涓彇int鏁板�硷紝鏈柟娉曢�傜敤浜�(浣庝綅鍦ㄥ墠锛岄珮浣嶅湪鍚�)鐨勯『搴忥紝鍜屽拰intToBytes()閰嶅浣跨敤
      *
@@ -61,11 +89,24 @@
      * @return int鏁板��
      */
     public static int bytesToInt(byte[] src, int offset) {
-        int value;
-        value = (int) ((src[offset] & 0xFF)
-                | ((src[offset+1] & 0xFF)<<8)
-                | ((src[offset+2] & 0xFF)<<16)
-                | ((src[offset+3] & 0xFF)<<24));
+        int value=0;
+        for(int i=0;i<src.length;i++){
+            value+=(int)((src[offset+i]&0xFF)<<i*8);
+        }
         return value;
     }
+    /**
+     * 灏唅nt鏁板�艰浆鎹负鍗爏ize涓瓧鑺傜殑byte鏁扮粍锛屾湰鏂规硶閫傜敤浜�(浣庝綅鍦ㄥ墠锛岄珮浣嶅湪鍚�)鐨勯『搴忋�� 鍜宐ytesToInt锛堬級閰嶅浣跨敤
+     * @param value
+     *            瑕佽浆鎹㈢殑int鍊�
+     * @return byte鏁扮粍
+     */
+    public static byte[] intToBytes( int value,int size )
+    {
+        byte[] src = new byte[size];
+        for(int i=0;i<src.length;i++){
+            src[i] = (byte) ((value>>i*8) & 0xFF);
+        }
+        return src;
+    }
 }

--
Gitblit v1.8.0