diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6f4d1c471..47d2a498e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@
* 【extra 】 VelocityEngine的getRowEngine改为getRawEngine(issue#I2EGRG@Gitee)
* 【cache 】 缓存降低锁的粒度,提高并发能力(pr#1385@Github)
* 【core 】 SimpleCache缓存降低锁的粒度,提高并发能力(pr#1385@Github)
+* 【core 】 增加RadixUtil(pr#260@Gitee)
### Bug修复
* 【core 】 修复FileUtil.move以及PathUtil.copy等无法自动创建父目录的问题(issue#I2CKTI@Gitee)
diff --git a/hutool-core/src/main/java/cn/hutool/core/util/RadixUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/RadixUtil.java
index c2bda127f..4e408ec7b 100644
--- a/hutool-core/src/main/java/cn/hutool/core/util/RadixUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/util/RadixUtil.java
@@ -1,9 +1,10 @@
package cn.hutool.core.util;
/**
- * 把一个十进制整数根据自己定义的进制规则进行转换
- *
- *
主要应用一下情况:
+ * 把一个十进制整数根据自己定义的进制规则进行转换
+ * from:https://gitee.com/loolly/hutool/pulls/260
+ *
+ * 主要应用一下情况:
*
* - 根据ID生成邀请码,并且尽可能的缩短。并且不希望直接猜测出和ID的关联
* - 短连接的生成,根据ID转成短连接,同样不希望被猜测到
@@ -21,25 +22,28 @@ public class RadixUtil {
* 对于需要补齐的,自己可以随机填充IO字符
* 26个字母:abcdefghijklmnopqrstuvwxyz
*/
- public final static String RADIXS_34 = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";
+ public final static String RADIXS_34 = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";
/**
* 打乱后的34进制
*/
- public final static String RADIXS_SHUFFLE_34 = "H3UM16TDFPSBZJ90CW28QYRE45AXKNGV7L";
+ public final static String RADIXS_SHUFFLE_34 = "H3UM16TDFPSBZJ90CW28QYRE45AXKNGV7L";
/**
* 59进制字符串,不包含 IOl 字符
*/
- public final static String RADIXS_59 = "0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ";
+ public final static String RADIXS_59 = "0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ";
/**
* 打乱后的59进制
*/
- public final static String RADIXS_SHUFFLE_59 = "vh9wGkfK8YmqbsoENP3764SeCX0dVzrgy1HRtpnTaLjJW2xQiZAcBMUFDu5";
+ public final static String RADIXS_SHUFFLE_59 = "vh9wGkfK8YmqbsoENP3764SeCX0dVzrgy1HRtpnTaLjJW2xQiZAcBMUFDu5";
+
/**
* 把一个整型数值转换成自己定义的进制
- * 长度即进制
- * - encode("AB",10) 51转换成2进制,A=0;B=1 。 二进制1010,结果 BABA
- * - encode("VIP",21) 21转换成3进制,V=0;I=1;P=2 ,三进制210 ,得到结果PIV
+ * 长度即进制
+ *
+ * - encode("AB",10) 51转换成2进制,A=0;B=1 。 二进制1010,结果 BABA
+ * - encode("VIP",21) 21转换成3进制,V=0;I=1;P=2 ,三进制210 ,得到结果PIV
+ *
*
* @param radixs 自定进制,不要重复,否则转不回来的。
* @param num 要转换的数值
@@ -93,21 +97,21 @@ public class RadixUtil {
*
* @param radixs 自定进制,需要和encode的保持一致
* @param encodeStr 需要转换成十进制的字符串
- * @return
+ * @return int
*/
public int decodeToInt(final String radixs, final String encodeStr) {
//还原负数
- return (int) decodeToLong(radixs, encodeStr);
+ return (int) decode(radixs, encodeStr);
}
/**
* 把转换后进制的字符还原成long 值
*
- * @param radixs
- * @param encodeStr
- * @return
+ * @param radixs 自定进制,需要和encode的保持一致
+ * @param encodeStr 需要转换成十进制的字符串
+ * @return long
*/
- public long decodeToLong(final String radixs, final String encodeStr) {
+ public long decode(final String radixs, final String encodeStr) {
//目标是多少进制
int rl = radixs.length();
long res = 0L;