Class RadixKit

java.lang.Object
org.miaixz.bus.core.xyz.RadixKit

public class RadixKit extends Object
进制转换工具类,可以转换为任意进制 把一个十进制整数根据自己定义的进制规则进行转换 主要应用一下情况:
  • 根据ID生成邀请码,并且尽可能的缩短。并且不希望直接猜测出和ID的关联
  • 短连接的生成,根据ID转成短连接,同样不希望被猜测到
  • 数字加密,通过两次不同进制的转换,让有规律的数字看起来没有任何规律
  • ....
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static long
    decode(String radixs, String encode)
    把转换后进制的字符还原成long 值
    static int
    decodeToInt(String radixs, String encode)
    把转换后的进制字符还原成int 值
    static String
    encode(String radixs, int num)
    把一个整型数值转换成自己定义的进制 长度即进制 encode("AB",10) 51转换成2进制,A=0;B=1 。 二进制1010,结果 BABA encode("VIP",21) 21转换成3进制,V=0;I=1;P=2 ,三进制210 ,得到结果PIV
    static String
    encode(String radixs, long num)
    把一个长整型数值转换成自己定义的进制

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RadixKit

      public RadixKit()
  • Method Details

    • encode

      public static String encode(String radixs, int num)
      把一个整型数值转换成自己定义的进制 长度即进制
      • 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

      public static String encode(String radixs, long num)
      把一个长整型数值转换成自己定义的进制
      Parameters:
      radixs - 自定进制,不要重复,否则转不回来的。
      num - 要转换的数值
      Returns:
      自定义进制字符串
    • decodeToInt

      public static int decodeToInt(String radixs, String encode)
      把转换后的进制字符还原成int 值
      Parameters:
      radixs - 自定进制,需要和encode的保持一致
      encode - 需要转换成十进制的字符串
      Returns:
      int
    • decode

      public static long decode(String radixs, String encode)
      把转换后进制的字符还原成long 值
      Parameters:
      radixs - 自定进制,需要和encode的保持一致
      encode - 需要转换成十进制的字符串
      Returns:
      long