From fd026067bbd448e8534fd413d4a7da1d28430a5f Mon Sep 17 00:00:00 2001 From: luyya Date: Mon, 24 Nov 2025 17:13:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=B3=E5=B7=9E=E4=BD=8D=E7=BD=AE=E6=B1=87?= =?UTF-8?q?=E8=81=9A=E5=85=AC=E8=BD=A6UDP=E6=97=B6=E9=97=B4=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/udp/config/AsyncUtils.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/stwzhj-modules/wzhj-udp/src/main/java/org/dromara/udp/config/AsyncUtils.java b/stwzhj-modules/wzhj-udp/src/main/java/org/dromara/udp/config/AsyncUtils.java index a7250555..80995f57 100644 --- a/stwzhj-modules/wzhj-udp/src/main/java/org/dromara/udp/config/AsyncUtils.java +++ b/stwzhj-modules/wzhj-udp/src/main/java/org/dromara/udp/config/AsyncUtils.java @@ -108,14 +108,25 @@ public class AsyncUtils { logger.error("jingdu:"+jingdu); long year = BitConverter.byteArrayToShort(Arrays.copyOfRange(copyByte, 44, 46), true); + + byte[] yearBytes = Arrays.copyOfRange(copyByte, 44, 46); + logger.error("Year bytes: %02X %02X\n", yearBytes[0] & 0xFF, yearBytes[1] & 0xFF); + +// Try big-endian + int yearBE = ((yearBytes[0] & 0xFF) << 8) | (yearBytes[1] & 0xFF); +// Try little-endian + int yearLE = ((yearBytes[1] & 0xFF) << 8) | (yearBytes[0] & 0xFF); + + logger.error("Year BE: {}, LE: {}", yearBE, yearLE); + //月日时分秒 byte[] sfm = Arrays.copyOfRange(copyByte, 46, 51); String time = singleByteToString2(sfm); String time2 = singleByteToString2(sfm); - logger.error("time2:"+year+time2); - logger.error("time:"+year+time); + logger.error("year={},time2={}",year,time2); + logger.error("time:"+time); - return BuilderEsGpsInfo(gpsId, lonD, latD, speed, angle, height, jingdu, (year + time2)); + return BuilderEsGpsInfo(gpsId, lonD, latD, speed, angle, height, jingdu, (yearBE + time2)); }