diff --git a/CHANGELOG.md b/CHANGELOG.md index c4b37e6d7..1f9c9c68f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ------------------------------------------------------------------------------------------------------------- -# 5.6.0 (2021-03-11) +# 5.6.0 (2021-03-12) ### 新特性 * 【poi 】 重要:不再兼容POI-3.x,增加兼容POI-5.x(issue#I35J6B@Gitee) @@ -21,6 +21,8 @@ * 【socket 】 修复Client创建失败资源未释放问题。 * 【core 】 修复DataSizeUtil中EB单位错误问题(issue#I39O7I@Gitee) * 【core 】 修复BeanDesc.isMatchSetter的ignoreCase未使用问题(issue#I3AXIJ@Gitee) +* 【core 】 修复CRC16Checksum中(issue#I3AXIJ@Gitee) +* 【core 】 修复UrlQuery中对空key解析丢失问题(issue#I3B3J6@Gitee) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/io/checksum/crc16/CRC16Checksum.java b/hutool-core/src/main/java/cn/hutool/core/io/checksum/crc16/CRC16Checksum.java index 502614ecb..511dccf30 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/checksum/crc16/CRC16Checksum.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/checksum/crc16/CRC16Checksum.java @@ -47,7 +47,7 @@ public abstract class CRC16Checksum implements Checksum, Serializable { public String getHexValue(boolean isPadding){ String hex = HexUtil.toHex(getValue()); if(isPadding){ - hex = StrUtil.padAfter(hex, 4, '0'); + hex = StrUtil.padPre(hex, 4, '0'); } return hex; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlQuery.java b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlQuery.java index 232981999..62fa8e429 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/url/UrlQuery.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/url/UrlQuery.java @@ -222,7 +222,7 @@ public class UrlQuery { sb.append("&"); } key = entry.getKey(); - if (StrUtil.isNotEmpty(key)) { + if (null != key) { sb.append(URLUtil.encodeAll(StrUtil.str(key), charset)); value = entry.getValue(); if (null != value) { diff --git a/hutool-core/src/test/java/cn/hutool/core/io/checksum/CrcTest.java b/hutool-core/src/test/java/cn/hutool/core/io/checksum/CrcTest.java index b7f33f13b..ccdcc6aba 100644 --- a/hutool-core/src/test/java/cn/hutool/core/io/checksum/CrcTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/checksum/CrcTest.java @@ -1,12 +1,14 @@ package cn.hutool.core.io.checksum; +import cn.hutool.core.io.checksum.crc16.CRC16XModem; import cn.hutool.core.util.HexUtil; +import cn.hutool.core.util.StrUtil; import org.junit.Assert; import org.junit.Test; /** * CRC校验单元测试 - * + * * @author looly * */ @@ -40,4 +42,14 @@ public class CrcTest { String crc16 = HexUtil.toHex(crc.getValue()); Assert.assertEquals("18c", crc16); } + + @Test + public void paddingTest(){ + // I3B3RV@Gitee + String text = "000123FFFFFF"; + CRC16XModem crc16 = new CRC16XModem(); + crc16.update(StrUtil.bytes(text)); + String hexValue = crc16.getHexValue(true); + Assert.assertEquals("0e04", hexValue); + } } diff --git a/hutool-core/src/test/java/cn/hutool/core/net/UrlQueryTest.java b/hutool-core/src/test/java/cn/hutool/core/net/UrlQueryTest.java index 58c84e929..285661c1f 100644 --- a/hutool-core/src/test/java/cn/hutool/core/net/UrlQueryTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/net/UrlQueryTest.java @@ -26,4 +26,12 @@ public class UrlQueryTest { final String queryStr = urlBuilder.getQueryStr(); Assert.assertEquals("imageMogr2/auto-orient/thumbnail/500&pid=259848", queryStr); } + + @Test + public void parseTest2(){ + String requestUrl = "http://192.168.1.1:8080/pc?=d52i5837i4ed=o39-ap9e19s5--=72e54*ll0lodl-f338868d2"; + UrlQuery q = new UrlQuery(); + UrlQuery parse = q.parse(requestUrl, Charset.defaultCharset()); + Assert.assertEquals("=d52i5837i4ed=o39-ap9e19s5--=72e54*ll0lodl-f338868d2", parse.toString()); + } }