Class CrockfordBase32

java.lang.Object
icu.congee.id.base.CrockfordBase32

public class CrockfordBase32 extends Object
Crockford Base32编码工具类。 实现了Douglas Crockford的Base32编码规范,这是一种人类可读的编码方案, 设计用于减少视觉混淆,例如将容易混淆的字符(如'I'、'L'、'O')映射到其他字符。
See Also:
  • Constructor Details

    • CrockfordBase32

      public CrockfordBase32()
  • Method Details

    • encode

      public static String encode(byte[] data)
      将字节数组编码为Crockford Base32字符串。 编码过程将每5个比特映射为一个字符,使用特定的32字符字母表。
      Parameters:
      data - 要编码的字节数组
      Returns:
      编码后的Base32字符串,如果输入为null或空数组则返回空字符串
    • decode

      public static byte[] decode(String encoded)
      将Crockford Base32编码的字符串解码为字节数组。 解码过程会自动处理字符大小写,并将特殊字符(如'I'、'L'、'O')映射到对应的数值。
      Parameters:
      encoded - 要解码的Base32字符串
      Returns:
      解码后的字节数组,如果输入为null或空字符串则返回空数组
      Throws:
      IllegalArgumentException - 如果输入字符串包含无效字符
    • main

      public static void main(String[] args)
      测试方法,演示Base32编码和解码的基本用法。 将一个示例字符串进行编码和解码,并打印结果。
      Parameters:
      args - 命令行参数(未使用)