From 3a56308b1a8f3f453a56da52af64ad4ba669aec1 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期三, 13 十二月 2023 15:41:38 +0800 Subject: [PATCH] 提交邦海智能粮情协议解析--1 --- src/main/java/com/fzzy/api/utils/BytesUtil.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 60 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/api/utils/BytesUtil.java b/src/main/java/com/fzzy/api/utils/BytesUtil.java index af40a1d..37a1ee6 100644 --- a/src/main/java/com/fzzy/api/utils/BytesUtil.java +++ b/src/main/java/com/fzzy/api/utils/BytesUtil.java @@ -401,4 +401,64 @@ public static String folatToHexString(Float value) { return Integer.toHexString(Float.floatToIntBits(value)); } + + /** + * int杞�16杩涘埗瀛楃涓� 1浣嶇疆 00 + * + * @param num + * @return + */ + public static String intToHexStr1(int num) { + // 闇�瑕佷娇鐢�2瀛楄妭琛ㄧずb + return String.format("%02x", num).toUpperCase(); + } + + public static String hexString2binaryString(String hexString, int num) { + //16杩涘埗杞�10杩涘埗 + BigInteger sint = new BigInteger(hexString, num); + //10杩涘埗杞�2杩涘埗 + String str = sint.toString(2); + if(str.length() < num){ + for (int i = str.length(); i < num; i++) { + str = "0" + str; + } + } + return str; + } + + /** + * 灏嗕簩杩涘埗杞崲涓�10杩涘埗 + * @param binStr + * @return + */ + public static Integer biannary2Decimal(String binStr){ + + Integer sum = 0; + int len = binStr.length(); + + for (int i=1;i<=len;i++){ + //绗琲浣� 鐨勬暟瀛椾负锛� + int dt = Integer.parseInt(binStr.substring(i-1,i)); + sum+=(int)Math.pow(2,len-i)*dt; + } + return sum; + } + + /** + * 浜岃繘鍒惰ˉ鐮侊細鍙栧弽鍙e姞1 + * @param str + * @return + */ + public static Integer twoToString(String str) { + String two = ""; + String[] split = str.split(""); + for (int i = 0;i< split.length;i++){ + if("1".equals(split[i])){ + two += "0"; + }else if("0".equals(split[i])){ + two += "1"; + } + } + return biannary2Decimal(two) + 1; + } } -- Gitblit v1.9.3