java.lang.Object
org.miaixz.bus.core.codec.binary.Hex
Direct Known Subclasses:
HexKit

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

    Constructors
    Constructor
    Description
    Hex()
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static byte[]
    decode(char[] hexData)
    将十六进制字符数组转换为字节数组
    static byte[]
    将十六进制字符数组转换为字节数组
    static byte[]
    decode(String hexStr)
    将十六进制字符串解码为byte[]
    static String
    decodeString(char[] hexData, Charset charset)
    将十六进制字符数组转换为字符串
    static String
    将十六进制字符数组转换为字符串,默认编码UTF-8
    static String
    decodeString(String hexStr, Charset charset)
    将十六进制字符数组转换为字符串
    static char[]
    encode(byte[] data)
    将字节数组转换为十六进制字符数组
    static char[]
    encode(byte[] data, boolean toLowerCase)
    将字节数组转换为十六进制字符数组
    static char[]
    encode(String text, Charset charset)
    将字节数组转换为十六进制字符数组
    static String
    encodeString(byte[] data)
    将字节数组转换为十六进制字符串
    static String
    encodeString(byte[] data, boolean toLowerCase)
    将字节数组转换为十六进制字符串
    static String
    将字符串转换为十六进制字符串,结果为小写,默认编码是UTF-8
    static String
    encodeString(String data, Charset charset)
    将字符串转换为十六进制字符串,结果为小写

    Methods inherited from class java.lang.Object

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

    • Hex

      public Hex()
  • Method Details

    • encode

      public static char[] encode(byte[] data)
      将字节数组转换为十六进制字符数组
      Parameters:
      data - byte[]
      Returns:
      十六进制char[]
    • encode

      public static char[] encode(String text, Charset charset)
      将字节数组转换为十六进制字符数组
      Parameters:
      text - 字符串
      charset - 编码
      Returns:
      十六进制char[]
    • encode

      public static char[] encode(byte[] data, boolean toLowerCase)
      将字节数组转换为十六进制字符数组
      Parameters:
      data - byte[]
      toLowerCase - true 传换成小写格式 , false 传换成大写格式
      Returns:
      十六进制char[]。如果提供的data为null,返回null
    • encodeString

      public static String encodeString(byte[] data)
      将字节数组转换为十六进制字符串
      Parameters:
      data - byte[]
      Returns:
      十六进制String
    • encodeString

      public static String encodeString(String data)
      将字符串转换为十六进制字符串,结果为小写,默认编码是UTF-8
      Parameters:
      data - 被编码的字符串
      Returns:
      十六进制String
    • encodeString

      public static String encodeString(String data, Charset charset)
      将字符串转换为十六进制字符串,结果为小写
      Parameters:
      data - 需要被编码的字符串
      charset - 编码
      Returns:
      十六进制String
    • encodeString

      public static String encodeString(byte[] data, boolean toLowerCase)
      将字节数组转换为十六进制字符串
      Parameters:
      data - byte[]
      toLowerCase - true 传换成小写格式 , false 传换成大写格式
      Returns:
      十六进制String
    • decodeString

      public static String decodeString(String hexStr)
      将十六进制字符数组转换为字符串,默认编码UTF-8
      Parameters:
      hexStr - 十六进制String
      Returns:
      字符串
    • decodeString

      public static String decodeString(String hexStr, Charset charset)
      将十六进制字符数组转换为字符串
      Parameters:
      hexStr - 十六进制String
      charset - 编码
      Returns:
      字符串
    • decodeString

      public static String decodeString(char[] hexData, Charset charset)
      将十六进制字符数组转换为字符串
      Parameters:
      hexData - 十六进制char[]
      charset - 编码
      Returns:
      字符串
    • decode

      public static byte[] decode(String hexStr)
      将十六进制字符串解码为byte[]
      Parameters:
      hexStr - 十六进制String
      Returns:
      byte[]
    • decode

      public static byte[] decode(char[] hexData)
      将十六进制字符数组转换为字节数组
      Parameters:
      hexData - 十六进制char[]
      Returns:
      byte[]
      Throws:
      RuntimeException - 如果源十六进制字符数组是一个奇怪的长度,将抛出运行时异常
    • decode

      public static byte[] decode(CharSequence hexData)
      将十六进制字符数组转换为字节数组
      Parameters:
      hexData - 十六进制字符串
      Returns:
      byte[]
      Throws:
      InternalException - 如果源十六进制字符数组是一个奇怪的长度,将抛出运行时异常