Package org.miaixz.bus.core.xyz
Class RadixKit
java.lang.Object
org.miaixz.bus.core.xyz.RadixKit
进制转换工具类,可以转换为任意进制 把一个十进制整数根据自己定义的进制规则进行转换 主要应用一下情况:
- 根据ID生成邀请码,并且尽可能的缩短。并且不希望直接猜测出和ID的关联
- 短连接的生成,根据ID转成短连接,同样不希望被猜测到
- 数字加密,通过两次不同进制的转换,让有规律的数字看起来没有任何规律
- ....
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic long把转换后进制的字符还原成long 值static intdecodeToInt(String radixs, String encode) 把转换后的进制字符还原成int 值static String把一个整型数值转换成自己定义的进制 长度即进制 encode("AB",10) 51转换成2进制,A=0;B=1 。 二进制1010,结果 BABA encode("VIP",21) 21转换成3进制,V=0;I=1;P=2 ,三进制210 ,得到结果PIVstatic String把一个长整型数值转换成自己定义的进制
-
Constructor Details
-
RadixKit
public RadixKit()
-
-
Method Details
-
encode
把一个整型数值转换成自己定义的进制 长度即进制- encode("AB",10) 51转换成2进制,A=0;B=1 。 二进制1010,结果 BABA
- encode("VIP",21) 21转换成3进制,V=0;I=1;P=2 ,三进制210 ,得到结果PIV
- Parameters:
radixs- 自定进制,不要重复,否则转不回来的。num- 要转换的数值- Returns:
- 自定义进制字符串
-
encode
把一个长整型数值转换成自己定义的进制- Parameters:
radixs- 自定进制,不要重复,否则转不回来的。num- 要转换的数值- Returns:
- 自定义进制字符串
-
decodeToInt
把转换后的进制字符还原成int 值- Parameters:
radixs- 自定进制,需要和encode的保持一致encode- 需要转换成十进制的字符串- Returns:
- int
-
decode
把转换后进制的字符还原成long 值- Parameters:
radixs- 自定进制,需要和encode的保持一致encode- 需要转换成十进制的字符串- Returns:
- long
-