Class Base16Provider

java.lang.Object
org.miaixz.bus.core.codec.binary.provider.Base16Provider
All Implemented Interfaces:
Serializable, Decoder<CharSequence,byte[]>, Encoder<byte[],char[]>

public class Base16Provider extends Object implements Encoder<byte[],char[]>, Decoder<CharSequence,byte[]>, Serializable
Base16(Hex)编码解码器 十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。 例如十进制数57,在二进制写作111001,在16进制写作39。
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Field Details

    • CODEC_LOWER

      public static final Base16Provider CODEC_LOWER
      编码解码器:小写
    • CODEC_UPPER

      public static final Base16Provider CODEC_UPPER
      编码解码器:大写
  • Constructor Details

    • Base16Provider

      public Base16Provider(boolean lowerCase)
      构造
      Parameters:
      lowerCase - 是否小写
  • Method Details

    • encode

      public char[] encode(byte[] data)
      Description copied from interface: Encoder
      执行编码
      Specified by:
      encode in interface Encoder<byte[],char[]>
      Parameters:
      data - 被编码的数据
      Returns:
      编码后的数据
    • decode

      public byte[] decode(CharSequence encoded)
      Description copied from interface: Decoder
      执行解码
      Specified by:
      decode in interface Decoder<CharSequence,byte[]>
      Parameters:
      encoded - 被解码的数据
      Returns:
      解码后的数据
    • toUnicodeHex

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

      public void appendHex(StringBuilder builder, byte b)
      将byte值转为16进制并添加到StringBuilder
      Parameters:
      builder - StringBuilder
      b - byte
    • hexDigit

      public char hexDigit(int b)
      将byte值转为16进制
      Parameters:
      b - byte
      Returns:
      hex char