Class HexKit


public class HexKit extends Hex
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。 例如十进制数57,在二进制写作111001,在16进制写作39。 像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的32,而不是十进制的20

此工具类为16进制组合工具类,除了继承Hex实现编码解码外,提供其它转换类和识别类工具。

Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • HexKit

      public HexKit()
  • Method Details

    • encodeColor

      public static String encodeColor(Color color)
      Color编码为Hex形式
      Parameters:
      color - Color
      Returns:
      Hex字符串
    • encodeColor

      public static String encodeColor(Color color, String prefix)
      Color编码为Hex形式
      Parameters:
      color - Color
      prefix - 前缀字符串,可以是#、0x等
      Returns:
      Hex字符串
    • decodeColor

      public static Color decodeColor(String hexColor)
      将Hex颜色值转为
      Parameters:
      hexColor - 16进制颜色值,可以以#开头,也可以用0x开头
      Returns:
      Color
    • isHexNumber

      public static boolean isHexNumber(String value)
      判断给定字符串是否为16进制数 如果是,需要使用对应数字类型对象的decode方法解码 例如:Integer.decode方法解码int类型的16进制数字
      Parameters:
      value - 值
      Returns:
      是否为16进制
    • toUnicodeHex

      public static String toUnicodeHex(int value)
      将指定int值转换为Unicode字符串形式,常用于特殊字符(例如汉字)转Unicode形式 转换的字符串如果u后不足4位,则前面用0填充,例如:
       你 = \u4f60
       
      Parameters:
      value - int值,也可以是char
      Returns:
      Unicode表现形式
    • toUnicodeHex

      public static String toUnicodeHex(char ch)
      将指定char值转换为Unicode字符串形式,常用于特殊字符(例如汉字)转Unicode形式 转换的字符串如果u后不足4位,则前面用0填充,例如:
       你 = \u4f60
       
      Parameters:
      ch - char值
      Returns:
      Unicode表现形式
    • toHex

      public static String toHex(int value)
      转为16进制字符串
      Parameters:
      value - int值
      Returns:
      16进制字符串
    • hexToInt

      public static int hexToInt(String value)
      16进制字符串转为int
      Parameters:
      value - 16进制字符串
      Returns:
      16进制字符串int值
    • toHex

      public static String toHex(long value)
      转为16进制字符串
      Parameters:
      value - int值
      Returns:
      16进制字符串
    • hexToLong

      public static long hexToLong(String value)
      16进制字符串转为long
      Parameters:
      value - 16进制字符串
      Returns:
      long值
    • appendHex

      public static void appendHex(StringBuilder builder, byte b, boolean toLowerCase)
      将byte值转为16进制并添加到StringBuilder
      Parameters:
      builder - StringBuilder
      b - byte
      toLowerCase - 是否使用小写
    • toBigInteger

      public static BigInteger toBigInteger(String hexStr)
      Hex(16进制)字符串转为BigInteger
      Parameters:
      hexStr - Hex(16进制字符串)
      Returns:
      BigInteger
    • format

      public static String format(String hexStr)
      格式化Hex字符串,结果为每2位加一个空格,类似于:
           e8 8c 67 03 80 cb 22 00 95 26 8f
       
      Parameters:
      hexStr - Hex字符串
      Returns:
      格式化后的字符串
    • format

      public static String format(String hexStr, String prefix)
      格式化Hex字符串,结果为每2位加一个空格,类似于:
           e8 8c 67 03 80 cb 22 00 95 26 8f
       
      Parameters:
      hexStr - Hex字符串
      prefix - 自定义前缀,如0x
      Returns:
      格式化后的字符串